package decompress

  1. Overview
  2. Docs
Implementation of Zlib in OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

decompress-v1.0.0.tbz
sha256=34a04176a42955ce529a1b57e8b225e7cf63680e49dd8ad05b3fe463bc7863bd
sha512=cfc300cbf620563453ca166e5a53fde3317c8a24ce3010a5cdee080f51cca26c67f658e57bd8feee582c7dcb459a692010b90907ae2e9ba9fe494d5da5d88c13

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

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
Sourceval to_string : ?buffer:int -> i:bigstring -> w:window -> q:Queue.t -> refill:(bigstring -> int) -> string
OCaml

Innovation. Community. Security.