protobuf-zerocopy-compression icon indicating copy to clipboard operation
protobuf-zerocopy-compression copied to clipboard

Some Compression streams (gzip, snappy, lz4) implementing the ZeroCopy Interface from Google(TM) protobuf 2.4.1

protobuf-zerocopy-compression

This C++ library implements some basic compressed input/output streams implementing the ZeroCopy Interface from Google(TM) protobuf 2.4.1. Currently, gzip, zlib, snappy and lz4 (included) are supported, but any blockwise compression algorithm could be plugged in with little effort.

Quickstart

The main interface is defined and documented in compressed_stream.h.

An example program is test.cc

A quick look:

#include <compressed_stream.h>
...
zerocc::AbstractCompressedInputStream * in = get_compressed_input_stream(&my_infile_stream);
...
zerocc::AbstractCompressedOutputStream * out = get_compressed_output_stream(&my_outfile_stream, zerocc::ZLIB, 4);

To compile the static library and the test program, just run

./waf go

Have fun!