package decompress
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=c9898cbc98535d5dd1d4d75492ec27c1105b8f6cce5f79da5d34053fda40c585
sha512=1312f2b47ac7a1842a37d62811d252a467b6eff17bbdff168af9198ef8e344a74aeceddbbf2b43fb2053e114057cc625b416b03b03347087054e3e2e529c9ad1
doc/decompress.zl/Zl/index.html
Module ZlSource
ZLIB layer.
ZLIB is a standard on top of RFC1951. It uses the De implementation with the LZ77 compression algorithm. Module provides non-blocking streaming codec to decode and encode ZLIB encoding. It can efficiently work payload by payload without blocking IO.
The type for bigstring.
ZLIB Decoder.
Unlike de, zl provides a referentially transparent Inf.decoder. The client must use a Inf.decoder given by Inf.decode instead of a decoder given to Inf.decode. A common use of zl is:
let rec go d0 = match Inf.decode d0 with
| `Await d1 -> ... go d1
| `Flush d1 -> ... go d1
| _ -> ... inZLIB Encoder.
ZLIB encoder is glue between the LZ77 algorithm and the DEFLATE encoder, prefixed with a ZLIB header. Any deal with compression algorithm is not possible on this layer (see De for more details). As Inf, and unlike De, Zl provides a referentially transparent encoder.
The client must use the Def.encoder given by Def.encode instead a encoder given to Def.encode.