lz4-frame-conduit

Conduit implementing the official LZ4 frame streaming format https://github.com/nh2/lz4-frame-conduit#readme

Stackage Nightly 2020-09-23:0.1.0.1
Latest on Hackage:0.1.0.1

See all snapshots lz4-frame-conduit appears in

MIT licensed by Niklas Hambüchen
Maintained by mail@nh2.me

Module documentation for 0.1.0.1

This version can be pinned in stack with:lz4-frame-conduit-0.1.0.1@sha256:b1fcb69f882c735ccd3f925ea8f1cc70ede76b6b204d98664ddda1b1909ea44d,3023

lz4-frame-conduit

Haskell Conduit implementing the official LZ4 frame streaming format.

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:

Changes

0.1.0.1

  • Fix incorrect compression logic (compressing input Bytes repeatedly). See the commit for details.

0.1.0.0

Initial release.