Flux::Out - output stream interface
version 1.03
$out->write($item); $out->write_chunk(\@items); $out->commit;
Flux::Out is the role which every writing stream must implement.
Flux::Out
Consumers must implement write, write_chunk and commit methods.
write
write_chunk
commit
use Moo; with "Flux::Out"; sub write { my ($self, $item) = @_; say "Item: $item"; } sub write_chunk { my ($self, $chunk) = @_; say "Item: $_" for @$chunk; } sub commit { STDOUT->flush; }
It receives one scalar $item as its argument.
$item
At the implementor's choice, it can process $item immediately or keep it until commit() is called.
commit()
Return value semantics is not specified.
write_chunk receives an arrayref with items ordered as they would be if write method was used instead.
commit method can flush cached data, print statistics or do anything neccessary to make sure that writing is completed correctly.
Output stream implementation should make sure that stream is still usable after that.
Flux::Storage - role for persistent storages which are also output streams.
Flux::In::Role::Easy - specialization of this role for those who don't want to bother with 3 methods, and want to just implement write().
write()
Vyacheslav Matyukhin <me@berekuk.ru>
This software is copyright (c) 2013 by Yandex 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.
To install Flux, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Flux
CPAN shell
perl -MCPAN -e shell install Flux
For more information on module installation, please visit the detailed CPAN module installation guide.