package decompress
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=d1669e07446d73dd5e16f020d4a1682abcbb1b7a1e3bf19b805429636c26a19b
sha512=808e278640ab84b8ead7c5b7d22b70e3809255e37cc80a595cc58dd4974e5240f70307f048041ab1d8678826ce041da4f186179aa7ebbba5e7cfacaaf054f3e6
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.
MirageOS compatibility.
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.