package decompress

  1. Overview
  2. Docs
Implementation of Zlib and GZip in OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

decompress-v1.2.0.tbz
sha256=51983d4497ccb27c253e7464b03d38544aad51e0e7d537e405f4df6954c27ab0
sha512=17c7e3dc79b7cedaf649c208874a50a810002c71d061c133239b9813a9dfe424ba303a968ba68c728862bb20ceaa23465097334bc16b819317390d01c2f91f89

doc/decompress.de/De/Higher/index.html

Module De.HigherSource

Sourceval compress : w:window -> q:Queue.t -> i:bigstring -> o:bigstring -> refill:(bigstring -> int) -> flush:(bigstring -> int -> unit) -> unit

compress ~w ~q ~i ~o ~refill ~flush is Zlib.compress (with ~header:false) provided by camlzip package.

  • w is the window used by LZ77 compression algorithm.
  • q is shared-queue between compression algorithm and DEFLATE encoder.
  • i is input buffer.
  • o is output buffer.

When compress wants more input, it calls refill with i. The client returns how many bytes he wrote into i. If he returns 0, he signals end of input.

When compress has written output buffer, it calls flush with o and how many bytes it wrote.

Sourceval uncompress : w:window -> i:bigstring -> o:bigstring -> refill:(bigstring -> int) -> flush:(bigstring -> int -> unit) -> (unit, [> `Msg of string ]) result

uncompress ~w ~i ~o ~refill ~flush is Zlib.uncompress (with ~header:false) provided by camlzip package.

  • w is the window used by LZ77 uncompression algorithm
  • i is input buffer.
  • o is output buffer.

When compress wants more input, it calls refill with i. The client returns how many bytes he wrote into i. If he returns 0, he signals end of input.

When compress has written output buffer, it calls flush with o and how many bytes it wrote.

Sourceval of_string : o:bigstring -> w:window -> string -> flush:(bigstring -> int -> unit) -> (unit, [> `Msg of string ]) result
Sourceval to_string : ?buffer:int -> i:bigstring -> w:window -> q:Queue.t -> refill:(bigstring -> int) -> string
OCaml

Innovation. Community. Security.