GzGZIP is a standard on top of RFC1951 according RFC1952. It uses the De implementation with the LZ77 compression algorithm. Module provides non-blocking streaming codec to decode and encode GZIP encoding. It can efficiently work payload by payload without blocking IO.
module Bigarray = Bigarray_compatMirageOS compatibility.
type bigstring = (char, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Array1.tType type for bigstring.
type window = De.windowThe type for sliding window.
type os = | FAT |
| Amiga |
| VMS |
| Unix |
| VM |
| Atari |
| HPFS |
| Macintosh |
| Z |
| CPM |
| TOPS20 |
| NTFS |
| QDOS |
| Acorn |
| Unknown |
The type for Operating-System.
val pp_os : Format.formatter -> os -> unitPretty-printer of os.
equal_os a b returns true if a is exactly the same os than b. Otherwise, it returns false.
Unlike de, gz 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 gz is:
let rec go d0 = match Inf.decode d0 with
| `Await d1 -> ... go d1
| `Flush d1 -> ... go d1
| _ -> .... inmodule Inf : sig ... endGZIP encoder is glue between the LZ77 algorithm and the DEFLATE encoder, prefixed with a GZIP header. Any deal with compression algorithm is not possible on this layer (see De for more details). As Inf, and unlike De, Gz provides a referentially transparent encoder.
The client must use the Def.encoder given by Def.encode instead a encoder given to Def.encode.
module Def : sig ... endmodule Higher : sig ... end