package irmin

  1. Overview
  2. Docs
Irmin, a distributed database that follows the same design principles as Git

Install

Dune Dependency

Authors

Maintainers

Sources

irmin-2.6.1.tbz
sha256=7729777c336f716a064f3c698a25412efb2ce830bc0f3f9e5248d3caac66e4a6
sha512=15c8aae18bbc4dbb86708caf0fe41f621a41db38645d1a7e93fb9c1c5e3fea33c6dfbf0ffbed499b1482674b88dd5c847110dc54d9956c9c20dec3d9d4e5f145

doc/irmin.mem/Irmin_mem/KV/Private/Contents/index.html

Module Private.ContentsSource

Private content store.

Content-addressable stores

Content-addressable stores are store where it is possible to read and add new values. Keys are derived from the values raw contents and hence are deterministic.

Sourcetype -'a t

The type for content-addressable backend stores. The 'a phantom type carries information about the store mutability.

Sourcetype key = Hash.t

The type for keys.

Sourcetype value = contents

The type for raw values.

Sourceval mem : [> Irmin.Perms.read ] t -> key -> bool Lwt.t

mem t k is true iff k is present in t.

Sourceval find : [> Irmin.Perms.read ] t -> key -> value option Lwt.t

find t k is Some v if k is associated to v in t and None is k is not present in t.

Sourceval add : [> Irmin.Perms.write ] t -> value -> key Lwt.t

Write the contents of a value to the store. It's the responsibility of the content-addressable store to generate a consistent key.

Sourceval unsafe_add : [> Irmin.Perms.write ] t -> key -> value -> unit Lwt.t

Same as add but allows to specify the key directly. The backend might choose to discared that key and/or can be corrupt if the key scheme is not consistent.

Sourceval clear : 'a t -> unit Lwt.t

Clear the store. This operation is expected to be slow.

Sourceval merge : [> Irmin.Perms.read_write ] t -> key option Irmin.Merge.t

merge t lifts the merge functions defined on contents values to contents key. The merge function will: (i) read the values associated with the given keys, (ii) use the merge function defined on values and (iii) write the resulting values into the store to get the resulting key. See Contents.S.merge.

If any of these operations fail, return `Conflict.

Sourcemodule Key : Irmin.Hash.TYPED with type t = key and type value = value

Key provides base functions for user-defined contents keys.

Sourcemodule Val : sig ... end

Val provides base functions for user-defined contents values.

OCaml

Innovation. Community. Security.