-
irmin-pack
-
-
irmin-pack.layered
-
Library
Module
Module type
Parameter
Class
Class type
Parameters
Signature
include Irmin.CONTENT_ADDRESSABLE_STORE
with type key = CA.key
with type value = CA.value
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.
The type for content-addressable backend stores. The 'a
phantom type carries information about the store mutability.
type key = CA.key
The type for keys.
type value = CA.value
The type for raw values.
val mem : [> Irmin.Perms.read ] t -> key -> bool Lwt.t
mem t k
is true iff k
is present in t
.
val 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
.
Overwrite unsafe_add
to work with a read-only database handler.
type index = CA.index
val v :
?fresh:bool ->
?readonly:bool ->
?lru_size:int ->
index:index ->
string ->
Irmin.Perms.read t Lwt.t
val batch :
Irmin.Perms.read t ->
([ Irmin.Perms.read | Irmin.Perms.write ] t -> 'a Lwt.t) ->
'a Lwt.t
batch t f
applies the writes in f
in a separate batch. The exact guarantees depend on the implementation.
val flush : ?index:bool -> ?index_merge:bool -> 'a t -> unit
val sync : ?on_generation_change:(unit -> unit) -> 'a t -> unit
syncs a readonly instance with the files on disk. The same file instance is shared between several pack instances. Therefore only the first pack instance that checks a generation change, can see it. on_generation_change
is a callback for all pack instances to react to a generation change.
val version : 'a t -> [ `V1 | `V2 ]
val generation : 'a t -> int64
val offset : 'a t -> int64
include Irmin.Export_for_backends.Store_properties.CLOSEABLE
with type 'a t := 'a t
include Irmin.Export_for_backends.Store_properties.CLEARABLE
with type 'a t := 'a t
val clear_caches : 'a t -> unit
clear_cache t
clears all the in-memory caches of t
. Persistent data are not removed.