decompress.impl
Decompress_impl.L
decompress
decompress.rfc1951
module Safe : sig ... end
module Seq : sig ... end
module Hunk : sig ... end
val repeat : char -> int64
type error =
| Invalid_level of int
| Invalid_wbits of int
val pp_error : Format.formatter -> error -> unit
exception Match of int * int
exception Literal of char
exception Break
type 'i t = {
i_off : int;
i_pos : int;
i_len : int;
level : int;
on : Hunk.t -> unit;
state : 'i state;
}
and 'i state =
| Deflate of int
| Deffast of int
| Choose of int
| Exception of error
and 'i res =
| Cont of 'i t
| Wait of 'i t * Hunk.t Seq.t
| Error of 'i t * error
XXX: we don't have an Ok result because this algorithm does not decide if you need to stop the compression or not - this is decided by the user. It's illogic to force a `End state with this algorithm.
Ok
`End
val pp_state : Format.formatter -> 'a state -> unit
val pp : Format.formatter -> 'a t -> unit
val await : 'a t -> Hunk.t Seq.t -> 'a res
val error : 'a t -> error -> 'b res
val _max_distance : int
val _max_length : int
val _size_of_int64 : int
val _idx_boundary : int
type key = Int32.t option
val key : ([< `Read | `Write Read ], 'a) Safe.t -> int -> int -> key
module T : sig ... end
val longuest_substring : ([< `Read | `Write Read ], 'a) Safe.t -> int -> int -> int -> int option
val deflate : ?max_fardistance:int -> ([< `Read | `Write Read ], 'a) Safe.t -> 'b t -> Hunk.t Seq.t
val _hlog : int array
val deffast : 'a. ?accel:int -> ?max_fardistance:int -> (Safe.read, 'a) Safe.t -> 'a t -> Hunk.t Seq.t
val eval : (Safe.read, 'a) Safe.t -> 'a t -> [> `Await of 'a t * Hunk.t Seq.t | `Error of 'a t * error ]
val refill : int -> int -> 'a t -> 'a t
val used_in : 'a t -> int
val default : ?level:int -> ?on:(Hunk.t -> unit) -> int -> 'a t