Net::SSH::Perl::Comp is a base class for compression/decompression
classes. Currently the only such class is the Zlib implementation
(using Compress::Zlib), which is the class Net::SSH::Perl::Comp::Zlib.
Each compression object generally has its own internal state; this
state changes when you compress or decompress data. The SSH protocol
dictates that you must have two separate objects to compress and
decompress data: one for compression, one for decompression. So, for
example, you would create two Net::SSH::Perl::Comp objects:
my $in = Net::SSH::Perl::Comp->new(Zlib);
my $inflated = $in->decompress($data);
my $out = Net::SSH::Perl::Comp->new(Zlib);
my $deflated = $out->compress($data);
CW$comp = Net::SSH::Perl::Comp->new( CW$comp_type [, CW@args ] )
Constructs a new compression object of compression type $comp_type
and returns that object.
If @args are provided, the classs init method is called with
those arguments, for any post-creation initialization.
Initializes $comp and sets the compression level to $level.
This method will be called automatically from new if youve
provided @args to new. So, for example, you could write:
my $comp = Net::SSH::Perl::Comp->new(Zlib, 5);
To create a new Zlib compression object and initialize its
compression level to 5.
CW$comp->compress( CW$data )
Compresses $data using the underlying compression mechanism;
returns the compressed data.
CW$comp->decompress( CW$data )
Decompresses $data using the underlying decompression mechanism;
returns the decompressed data.
Enables the compression object. This is useful in the context of
the key exchange (Kex) classes, which create a new compression
object during key negotiation, but dont actually turn it on (enable
it) until receiving/sending the SSH2_MSG_NEWKEYS message.
Net::SSH::Perl::Comp objects (and subclasses) are disabled by
Returns the state of the enabled flag, ie. whether the compression
object is turned on.
This is used by Net::SSH::Perl::Packet when determining whether
data it receives/sends to the server should be decompressed/compressed,