package Compress::LZ4Frame; # ABSTRACT: Compression package using the lz4frame library $Compress::LZ4Frame::VERSION = '0.003'; use 5.010_001; use strict; use warnings; use vars qw($VERSION); use base qw(XSLoader); use Exporter qw(import); __PACKAGE__->load($VERSION); our @EXPORT_OK = qw(compress compress_checksum decompress); our %EXPORT_TAGS = (all => \@EXPORT_OK); 1; __END__ =pod =encoding UTF-8 =head1 NAME Compress::LZ4Frame - Compression package using the lz4frame library =head1 VERSION version 0.003 =head1 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); # decompress my $decompressed = decompress($compressed); my @result = unpack('d*', $decompressed); # @result now contains the same values as @data did =head1 FUNCTIONS =head2 compress $compressed = compress($data [, $level]) Uses the lz4frame library to compress the given data. The optional compression level is passed through to lz4frame. =head2 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. =head2 decompress $data = decompress($compressed) Decompresses the given data. =head1 COMPATIBILITY The format of the compressed data is incompatible to that of L, thus they are not interoperable. Other than that this package should be compatible to every program/library working with the official lz4frame format. =head1 SEE ALSO =over 4 =item * L =item * L =back =head1 AUTHOR Felix Bytow =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2015 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. =cut