module Buffer = Decompress_buffer
module Safe = Decompress_safe
type ('a, 'crc) t = {
rpos : int; |
wpos : int; |
size : int; |
buffer : ([ Safe.ro | Safe.wo ], 'a) Safe.t; |
crc : Optint.t; |
crc_witness : 'crc checksum; |
buffer_witness : 'a Buffer.t; |
}
module Crc : sig ... end
val create : crc:'a Crc.t -> witness:'b Safe.Buffer.t -> ('b, 'a) t
val available_to_write : ('a, 'b) t -> int
val write : ([< `Rd | `Wr Rd ], 'a) Safe.t -> int -> ([< `Rd | `Wr Wr ], 'a) Safe.t -> int -> int -> ('a, 'b) t -> ('a, 'b) t
val sanitize : int -> ('a, 'b) t -> int
val (%) : int -> ('a, 'b) t -> int