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.
在文件Compressor.h第47行定义。
公有成员 | |
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 |
保护属性 | |
E_COMPRESSION_TYPE | compression_type |
CCompressor | ( | E_COMPRESSION_TYPE | ct ) |
default constructor
ct | compression to use: one of UNCOMPRESSED, LZO, GZIP, BZIP2 or LZMA |
在文件Compressor.h第55行定义。
virtual ~CCompressor | ( | ) | [virtual] |
default destructor
在文件Compressor.h第60行定义。
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 |
在文件Compressor.cpp第34行定义。
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 |
在文件Compressor.cpp第189行定义。
virtual const char* get_name | ( | ) | const [virtual] |
E_COMPRESSION_TYPE compression_type [protected] |
compressor type
在文件Compressor.h第98行定义。