package decompress

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

Install

Dune Dependency

Authors

Maintainers

Sources

decompress-v1.1.0.tbz
sha256=a950f91c33af4d14b25c62dd3edf7067b4020b7f39c2664a2afa925f767be2b9
sha512=abb4994150ef724b4cbf0612e0215092818139a5eca33c2365b6fdac61e4e33323da490fd8ea1adf8348c136b11a6448b1500173352f7b61f7641d32c02f3874

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.