frankee / protobuf-zerocopy-compression

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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!

About

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

License:Other