Module Impl.Decompress_lz77

module Safe = Decompress_safe
module Seq = Decompress_seq
module Hunk = Decompress_hunk
module Buffer = Decompress_buffer
val pf : Stdlib.Format.formatter -> ('aStdlib.Format.formatter, unit) Stdlib.format -> 'a
val repeat : char -> int64
type error =
| Invalid_level of int
| Invalid_wbits of int
val pp_error : Stdlib.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;
witness : 'i Buffer.t;
}
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
val pp_state : Stdlib.Format.formatter -> 'a state -> unit
val pp : Stdlib.Format.formatter -> 'a t -> unit
val await : 'i t -> Hunk.t Seq.t -> 'i res
val error : 'i t -> error -> 'i res
val _max_distance : int
val _max_length : int
val _size_of_int64 : int
val _idx_boundary : int
type key = int32 option
val key : 'a Safe.Buffer.t -> ([< `Rd | `Wr Rd ]'a) Safe.t -> int -> int -> key
module T : sig ... end
val longuest_substring : 'a Safe.Buffer.t -> ([< `Rd | `Wr Rd ]'a) Safe.t -> int -> int -> int -> int option
val deflate : ?⁠max_fardistance:int -> ([< `Rd | `Wr Rd ]'a) Safe.t -> 'a t -> Hunk.t Seq.t
val _hlog : int array
val deffast : a. ?⁠accel:int -> ?⁠max_fardistance:int -> (Safe.ro'a) Safe.t -> 'a t -> Hunk.t Seq.t
val eval : (Safe.ro'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 : witness:'a Buffer.t -> ?⁠level:int -> ?⁠on:(Hunk.t -> unit) -> int -> 'a t