Compression library for compressing and decompressing buffers using one of the standard compression algorithms, LZO, GZIP, BZIP2 or LZMA.
The general recommendation is to use LZO whenever lightweight compression is sufficient but high i/o throughputs are needed (at 1/2 the speed of memcpy).
If size is all that matters use LZMA (which especially when compressing can be very slow though).
Note that besides lzo compression, this library is thread safe.
Definition at line 47 of file Compressor.h.
Public Member Functions | |
CCompressor (void) | |
CCompressor (E_COMPRESSION_TYPE ct) | |
virtual | ~CCompressor () |
void | compress (uint8_t *uncompressed, uint64_t uncompressed_size, uint8_t *&compressed, uint64_t &compressed_size, int32_t level=1) |
void | decompress (uint8_t *compressed, uint64_t compressed_size, uint8_t *uncompressed, uint64_t &uncompressed_size) |
virtual const char * | get_name () const |
Protected Attributes | |
E_COMPRESSION_TYPE | compression_type |
CCompressor | ( | void | ) |
default constructor
Definition at line 34 of file Compressor.cpp.
CCompressor | ( | E_COMPRESSION_TYPE | ct | ) |
default constructor
ct | compression to use: one of UNCOMPRESSED, LZO, GZIP, BZIP2 or LZMA |
Definition at line 57 of file Compressor.h.
virtual ~CCompressor | ( | ) | [virtual] |
default destructor
Definition at line 62 of file Compressor.h.
void compress | ( | uint8_t * | uncompressed, | |
uint64_t | uncompressed_size, | |||
uint8_t *& | compressed, | |||
uint64_t & | compressed_size, | |||
int32_t | level = 1 | |||
) |
compress data
compresses the buffer uncompressed using the selected compression algorithm and returns compressed data and its size
uncompressed | - uncompressed data to be compressed | |
uncompressed_size | - size of the uncompressed data | |
compressed | - pointer to hold compressed data (returned) | |
compressed_size | - size of compressed data (returned) | |
level | - compression level between 1 and 9 |
Definition at line 40 of file Compressor.cpp.
void decompress | ( | uint8_t * | compressed, | |
uint64_t | compressed_size, | |||
uint8_t * | uncompressed, | |||
uint64_t & | uncompressed_size | |||
) |
decompress data
Decompresses the buffer using the selected compression algorithm to the memory block specified in uncompressed. Note: Compressed and uncompressed size must be known prior to calling this function.
compressed | - pointer to compressed data | |
compressed_size | - size of compressed data | |
uncompressed | - pointer to buffer to hold uncompressed data | |
uncompressed_size | - size of the uncompressed data |
Definition at line 195 of file Compressor.cpp.
virtual const char* get_name | ( | void | ) | const [virtual] |
E_COMPRESSION_TYPE compression_type [protected] |
compressor type
Definition at line 100 of file Compressor.h.