/lz4-frame-conduit

Haskell Conduit implementing the official LZ4 frame streaming format

Primary LanguageHaskellMIT LicenseMIT

lz4-frame-conduit

Haskell Conduit implementing the official LZ4 frame streaming format.

Building

Use git clone --recursive, because lz4/ is a git submodule.

Rationale and comparison to non-lz4-compatible libraries

There exist two lz4 formats:

  1. the block format, limited to compressing data < 2 GB
  2. the frame format, suitable for streaming arbitrarily sized data ** This is what the lz4 command line utility uses

This library implements the frame format.

Some existing Haskell libraries implement only the block format, and are thus not suitable to compress data > 2 GB in a way. (Of course they could chunk the output in some arbitrary way, but that wouldn't be compatible with the lz4 command line utility.) The libraries that belong to this category at time of writing are: