package decompress
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
sha256=822f125b46c87f4a902c334db8c86d4d5f33ebe978e93c40351a4d3269b95225
    
    
  sha512=9cb82615923a5fffc5c8dce1d9361a467e35e91092c25c98f5afda8f4226059c59eb695c55e63adf92d766c7747e15df186386bcaeb399497dd1ae5b024c09fa
    
    
  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.