Module RPDec.Ascendant

type t =
| External of {
hash : Hash.t;
kind : kind;
raw : Cstruct.t;
}
| Root of Base.t
| Node of {
patch : Patch.t;
source : t;
}
type metadata = {
length : int;
crc : Checkseum.Crc32.t;
offset : int64;
consumed : int;
}
type s = [
| `Patch of metadata
| `Base of metadata
| `Extern
]
val needed_cache : int -> (int64, int) Cache.t
val get_cache : int -> (int64, t) Cache.t
val apply_cache : int -> (int64, kind * Cstruct.t * int * s) Cache.t
val get_from_absolute_offset : ztmp:Cstruct.t -> zwin:Inflate.window -> cache:(int64, t) Cache.t -> ?⁠chunk:int -> ?⁠htmp:Cstruct.t array -> Cstruct.t -> pack -> int64 -> (terror) Stdlib.result Lwt.t
val get_from_hash : ztmp:Cstruct.t -> zwin:Inflate.window -> cache:(int64, t) Cache.t -> ?⁠chunk:int -> ?⁠htmp:Cstruct.t array -> Cstruct.t -> pack -> Hash.t -> (terror) Stdlib.result Lwt.t
val get : ztmp:Cstruct.t -> zwin:Inflate.window -> cache:(int64, t) Cache.t -> ?⁠chunk:int -> ?⁠htmp:Cstruct.t array -> Cstruct.t -> pack -> [ `Hash of Hash.t | `Offset of int64 ] -> (terror) Stdlib.result Lwt.t
val reconstruct : (Cstruct.t * Cstruct.t) -> t -> kind * Cstruct.t * int * s
val apply_from_absolute_offset : ztmp:Cstruct.t -> zwin:Inflate.window -> cache:(int64, kind * Cstruct.t * int * s) Cache.t -> ?⁠chunk:int -> ?⁠htmp:Cstruct.t array -> (Cstruct.t * Cstruct.t) -> pack -> int64 -> (kind * Cstruct.t * int * serror) Stdlib.result Lwt.t
val apply_from_hash : ztmp:Cstruct.t -> zwin:Inflate.window -> cache:(int64, kind * Cstruct.t * int * s) Cache.t -> ?⁠chunk:int -> ?⁠htmp:Cstruct.t array -> (Cstruct.t * Cstruct.t) -> pack -> Hash.t -> (kind * Cstruct.t * int * serror) Stdlib.result Lwt.t
val apply : ztmp:Cstruct.t -> zwin:Inflate.window -> cache:(int64, kind * Cstruct.t * int * s) Cache.t -> ?⁠chunk:int -> ?⁠htmp:Cstruct.t array -> (Cstruct.t * Cstruct.t) -> pack -> [ `Hash of Hash.t | `Offset of int64 ] -> (kind * Cstruct.t * int * serror) Stdlib.result Lwt.t
val needed_from_absolute_offset : ztmp:Cstruct.t -> zwin:Inflate.window -> cache:(int64, int) Cache.t -> ?⁠chunk:int -> pack -> int64 -> (int, error) Stdlib.result Lwt.t
val needed_from_hash : ztmp:Cstruct.t -> zwin:Inflate.window -> cache:(int64, int) Cache.t -> ?⁠chunk:int -> pack -> Hash.t -> (int, error) Stdlib.result Lwt.t
val needed : ztmp:Cstruct.t -> zwin:Inflate.window -> cache:(int64, int) Cache.t -> ?⁠chunk:int -> pack -> [ `Hash of Hash.t | `Offset of int64 ] -> (int, error) Stdlib.result Lwt.t
val length_from_absolute_offset : ztmp:Cstruct.t -> zwin:Inflate.window -> ?⁠chunk:int -> pack -> int64 -> (int, error) Stdlib.result Lwt.t
val length_from_hash : ztmp:Cstruct.t -> zwin:Inflate.window -> ?⁠chunk:int -> pack -> Hash.t -> (int, error) Stdlib.result Lwt.t
val length : ztmp:Cstruct.t -> zwin:Inflate.window -> ?⁠chunk:int -> pack -> [ `Hash of Hash.t | `Offset of int64 ] -> (int, error) Stdlib.result Lwt.t