The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

DataStore::CAS::FileCreatorHandle - Handle-emulation object used for writing content into a CAS

VERSION

version 0.08

DESCRIPTION

Specialized instance of DataStore::CAS::VirtualHandle which writes to temporary space while hashing the data you write to it. No actual functionality is contained in this class- it just passes calls to the CAS implementation.

METHODS

This class extends the VirtualHandle interface with 5 new methods. Four of these methods would happen using the built-in AUTOLOAD, but they are enumerated as real methods for the sake of method introspection on handle objects.

commit

  Closes the handle, commits all written data to the CAS, and returns the
  digest hash of that data.

  Passes through to C<$cas-E<gt>commit_write_handle($handle, ...)>

close

  See IO::Handle API.

  Passes through to C<$cas-E<gt>_handle_close($handle, ...)>

seek

  See IO::Handle API.

  Passes through to C<$cas-E<gt>_handle_close($handle, ...)>

tell

  See IO::Handle API.

  Passes through to C<$cas-E<gt>_handle_close($handle, ...)>

write

  See IO::Handle API.

  Passes through to C<$cas-E<gt>_handle_close($handle, ...)>

read

Always returns 0

readline

Always returns undef.

eof

Always returns 1 (handle cannot be read)

AUTHOR

Michael Conrad <mconrad@intellitree.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2023 by Michael Conrad, and IntelliTree Solutions llc.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.