NAME

Compress::LZ4Frame - Compression package using the lz4frame library

VERSION

version 0.012002

SYNOPSIS

use Compress::LZ4Frame qw(:all);

my @data = map { rand } (1..50000);
my $packed = pack('d*', @data);

# compress
my $compressed = compress($packed);
# or with checksum
my $compressed = compress_checksum($packed);

# check data
looks_like_lz4frame($compressed);   # some true value
looks_like_lz4frame($packed);       # some false value

# decompress
my $decompressed = decompress($compressed);

my @result = unpack('d*', $decompressed);
# @result now contains the same values as @data did

FUNCTIONS

compress

$compressed = compress($data [, $level])

Uses the lz4frame library to compress the given data. The optional compression level is passed through to lz4frame.

compress_checksum

Usage is the same as compress. The only difference is, that a checksum is included into the resulting data, which will be checked by decompress.

decompress

$data = decompress($compressed)

Decompresses the given data.

looks_like_lz4frame

$okay = looks_like_lz4frame($data)

Checks the given data for a valid LZ4 frame.

COMPATIBILITY

The format of the compressed data is incompatible to that of Compress::LZ4, thus they are not interoperable. Other than that this package should be compatible to every program/library working with the official lz4frame format.

ACKNOWLEDGEMENTS

Many thanks goes to the following individuals who helped improve Compress-LZ4Frame:

Yann Collet for creating the LZ4 library and the lz4frame format, also for helping me fix nasty bugs.

A. Sinan Ünür for nmake support.

SEE ALSO

AUTHOR

Felix Bytow <felix.bytow@googlemail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2018 by afr-consulting GmbH.

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