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
type window = De.window
The type for sliding windows.
let rec go d0 = match Inf.decode d0 with | `Await d1 -> ... go d1 | `Flush d1 -> ... go d1 | _ -> ... in
module Inf : sig ... end
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
Zl provides a referentially transparent encoder.
module Def : sig ... end
module Higher : sig ... end