package irmin-pack

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Make_internal.ValSource

include Irmin.Private.Node.S with type hash = hash with type metadata = Node.metadata with type step = Node.step

Node values

Sourcetype t

The type for node values.

Sourcetype metadata = Node.metadata

The type for node metadata.

Sourceval metadata_t : metadata Irmin.Type.t
Sourcetype hash = hash

The type for keys.

Sourcetype step = Node.step

The type for steps between nodes.

Sourcetype value = [
  1. | `Node of hash
  2. | `Contents of hash * metadata
]

The type for either (node) keys or (contents) keys combined with their metadata.

Sourceval of_list : (step * value) list -> t

of_list l is the node n such that list n = l.

Sourceval list : ?offset:int -> ?length:int -> ?cache:bool -> t -> (step * value) list

list t is the contents of t. offset and length are used to paginate results.

caching

cache regulates the caching behaviour regarding the node's internal data which may be lazily loaded from the backend, depending on the node implementation.

cache defaults to true which may greatly reduce the IOs and the runtime but may also increase the memory consumption.

cache = false doesn't replace a call to clear, it only prevents the storing of new data, it doesn't discard the existing one.

Sourceval of_seq : (unit -> (step * value) Seq.node) -> t

of_seq s is the node n such that seq n = s.

Sourceval seq : ?offset:int -> ?length:int -> ?cache:bool -> t -> unit -> (step * value) Seq.node

seq t is the contents of t. offset and length are used to paginate results.

See caching for an explanation of the cache parameter

Sourceval empty : t

empty is the empty node.

Sourceval is_empty : t -> bool

is_empty t is true iff t is empty.

Sourceval clear : t -> unit

Cleanup internal caches.

Sourceval find : ?cache:bool -> t -> step -> value option

find t s is the value associated with s in t.

A node can point to user-defined contents. The edge between the node and the contents is labeled by a step.

See caching for an explanation of the cache parameter

Sourceval add : t -> step -> value -> t

add t s v is the node where find t v is Some s but is similar to t otherwise.

Sourceval remove : t -> step -> t

remove t s is the node where find t s is None but is similar to t otherwise.

Sourceval default : metadata

default is the default metadata value.

Proofs

Sourcetype nonrec proof

The type for proof trees.

Sourceval to_proof : t -> proof
Sourceval of_proof : proof -> t
Sourceval pred : t -> [ `Node of hash | `Inode of hash | `Contents of hash ] list
Sourceval of_raw : (hash -> Raw.t option) -> Raw.t -> t
Sourceval to_raw : t -> Raw.t
Sourceval save : add:(hash -> Raw.t -> unit) -> mem:(hash -> bool) -> t -> unit
Sourceval hash : t -> hash
Sourceval stable : t -> bool
Sourceval length : t -> int
Sourceval index : depth:int -> step -> int
Sourceval integrity_check : t -> bool

Checks the integrity of an inode.

Sourcemodule Concrete : sig ... end
Sourceval to_concrete : t -> Concrete.t

to_concrete t is the concrete inode tree equivalent to t.

Sourceval of_concrete : Concrete.t -> (t, Concrete.error) result

of_concrete c is Ok t iff c and t are equivalent.

The result is Error e when a subtree tree of c has an integrity error.

Sourcemodule Proof : sig ... end
OCaml

Innovation. Community. Security.