carton.classeur
Classeur.Encoder
carton
carton.cartonnage
type 'ctx hash = 'ctx Carton.First_pass.hash = {
feed_bytes : bytes -> off:int -> len:int -> 'ctx -> 'ctx;
feed_bigstring : Bstr.t -> 'ctx -> 'ctx;
serialize : 'ctx -> string;
length : int;
}
type digest = Carton.First_pass.digest =
| Digest : 'ctx hash * 'ctx -> digest
type entry = {
crc : Optint.t;
offset : int64;
uid : uid;
type encoder
type dst = [
| `Channel of out_channel
| `Buffer of Buffer.t
| `Manual
]
val encoder : dst -> digest:digest -> pack:string -> ref_length:int -> entry array -> encoder
val encode : encoder -> [ `Await ] -> [ `Partial | `Ok ]
val dst_rem : encoder -> int
val dst : encoder -> bytes -> int -> int -> unit