NAME
POE::Filter::Zlib::Stream
VERSION
version 2.04
SYNOPSIS
my
$filter
= POE::Filter::Zlib::Stream->new(
deflateopts
=> {
-Level
=> 9 } );
my
$scalar
=
'Blah Blah Blah'
;
my
$compressed_array
=
$filter
->put( [
$scalar
] );
my
$uncompressed_array
=
$filter
->get(
$compressed_array
);
my
(
$filter
) = POE::Filter::Stackable->new();
$filter
->
push
( POE::Filter::Zlib::Stream->new(),
POE::Filter::Line->new(
InputRegexp
=>
'\015?\012'
,
OutputLiteral
=>
"\015\012"
),
DESCRIPTION
POE::Filter::Zlib::Stream provides a POE filter for performing compression/uncompression using Compress::Zlib. It is suitable for use with POE::Filter::Stackable.
Unlike POE::Filter::Zlib this filter uses deflate and inflate, not the higher level compress and uncompress.
Ideal for streaming compressed data over sockets.
NAME
POE::Filter::Zlib::Stream - A POE filter wrapped around Compress::Zlib deflate and inflate.
CONSTRUCTOR
new
-
Creates a new POE::Filter::Zlib::Stream object. Takes some optional arguments:
- "deflateopts"
-
a hashref of options to be passed to deflateInit();
- "inflateopts"
-
a hashref of options to be passed to inflateInit();
- "flushtype"
-
The type of flush to use when flushing the compressed data. Defaults to Z_SYNC_FLUSH so you get a single stream, but if there is a POE::Filter::Zlib on the other end, you want to set this to Z_FINISH.
Consult Compress::Zlib for more detail regarding these options.
METHODS
get
get_one_start
get_one
-
Takes an arrayref which is contains streams of compressed input. Returns an arrayref of uncompressed streams.
get_pending
-
Returns any data in a filter's input buffer. The filter's input buffer is not cleared, however.
put
-
Takes an arrayref containing streams of uncompressed output, returns an arrayref of compressed streams.
clone
-
Makes a copy of the filter, and clears the copy's buffer.
AUTHOR
Chris Williams <chris@bingosnet.co.uk>
Martijn van Beers <martijn@cpan.org>
LICENSE
Copyright © Chris Williams and Martijn van Beers.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
SEE ALSO
AUTHORS
Chris Williams <chris@bingosnet.co.uk>
Martijn van Beers
COPYRIGHT AND LICENSE
This software is copyright (c) 2017 by Chris Williams and Martijn van Beers.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.