De.Higher
val compress : w:window -> q:Queue.t -> refill:(bigstring -> int) -> flush:(bigstring -> int -> unit) -> bigstring -> bigstring -> unit
compress ~w ~q ~refill ~flush i o
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.
val uncompress : w:window -> refill:(bigstring -> int) -> flush:(bigstring -> int -> unit) ->
bigstring -> bigstring -> (unit, [> `Msg of string ]) result
uncompress ~w ~refill ~flush i o
is Zlib.uncompress
(with ~header:false
) provided by camlzip
package.
w
is the window used by LZ77 uncompression algorithmi
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.