Module Make_persistent.Raw

include Brassaia_pack.Pack_value.S with type t = Pack.value with type hash := hash with type key := hash Pack_key.t
include Brassaia.Type.S with type t = Pack.value
include Repr.S with type t = Pack.value
type t = Pack.value
val t : t Repr__Type.ty
val hash : t -> hash
val length_header : Brassaia_pack.Pack_value.Kind.t -> [ `Varint ] option

Describes the length header formats for the data sections of pack entries.

val weight : t -> Brassaia_pack__.Pack_value_intf.weight

weight t is the t's LRU weight.

val encode_bin : dict:(string -> int option) -> offset_of_key:(hash Pack_key.t -> Optint.Int63.t option) -> hash -> t Brassaia.Type.encode_bin
val decode_bin : dict:(int -> string option) -> key_of_offset:(Optint.Int63.t -> hash Pack_key.t) -> key_of_hash:(hash -> hash Pack_key.t) -> t Brassaia.Type.decode_bin
val decode_bin_length : string -> int -> int
val to_kinded : t -> Brassaia_pack__.Pack_value_intf.kinded

to_kinded t returns a kinded version of t.

val of_kinded : Brassaia_pack__.Pack_value_intf.kinded -> t

of_kinded k is the inverse of to_kinded t.

It is expected that an implementation only works for k that is returned from to_kinded t and will raise an exception otherwise.

val encoding : t Data_encoding.t
val depth : t -> int option
exception Invalid_depth of {
  1. expected : int;
  2. got : int;
  3. v : t;
}
val decode_children_offsets : entry_of_offset:(Optint.Int63.t -> 'a) -> entry_of_hash:(hash -> 'a) -> string -> int Stdlib.ref -> 'a list