Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Zl.HigherSourceval compress :
?level:int ->
w:window ->
q:De.Queue.t ->
i:bigstring ->
o:bigstring ->
refill:(bigstring -> int) ->
flush:(bigstring -> int -> unit) ->
unitcompress ?level ~w ~q ~i ~o ~refill ~flush is Zlib.compress (with ~header:true) 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 :
allocate:(int -> window) ->
i:bigstring ->
o:bigstring ->
refill:(bigstring -> int) ->
flush:(bigstring -> int -> unit) ->
(unit, [> `Msg of string ]) resultuncompress ~allocate ~i ~o ~refill ~flush is Zlib.uncompress (with ~header:true) provided by camlzip package.
allocate is the allocator of 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.