35 #include <boost/algorithm/string.hpp>
39 using namespace boost;
46 split(args, spec, is_any_of(
" \t"), token_compress_on);
50 args.erase(args.begin());
53 if (name ==
"none" || name.empty())
65 if (name ==
"quicklz")
71 HT_ERRORF(
"unknown codec type: %s", name.c_str());
93 "type: '%d'", (
int)type);
Block compressor that uses the LZO algorithm.
Block compressor that uses the QUICKLZ algorithm.
Type
Enumeration for compression type.
Declarations for BlockCompressionCodecSnappy.
std::vector< String > Args
Compression codec argument vector.
Block compressor that uses the ZLIB algorithm.
Bentley-McIlroy large common substring compression.
Unknown compression type.
static BlockCompressionCodec::Type parse_block_codec_spec(const std::string &spec, BlockCompressionCodec::Args &args)
Given a block codec config string return its type and put config.
Logging routines and macros.
Declarations for BlockCompressionCodecZlib.
Compatibility Macros for C/C++.
Block compressor that uses the SNAPPY algorithm.
Declarations for BlockCompressionCodecQuicklz.
Block compressor that uses the BMZ algorithm.
static BlockCompressionCodec * create_block_codec(BlockCompressionCodec::Type, const BlockCompressionCodec::Args &args=BlockCompressionCodec::Args())
Block compressor that performs no compression.
Declarations for BlockCompressionCodecNone.
#define HT_THROWF(_code_, _fmt_,...)
bool split(int flags)
Tests the SPLIT bit of flags
#define HT_ERRORF(msg,...)
Declarations for BlockCompressionCodecLzo.
Declarations for BlockCompressionCodecBmz.
Abstract base class for block compression codecs.