Library
Module
Module type
Parameter
Class
Class type
Read-write store maker, with control over the filename shapes.
module C : Irmin_fs.Config
module K : Irmin.Contents.Conv
module V : Irmin.Contents.Conv
include Irmin.RW with type key = K.t and type value = V.t
Read-write stores read-only stores where it is also possible to update and remove elements, with atomically guarantees.
set t k v
replaces the contents of k
by v
in t
. If k
is not already defined in t
, create a fresh binding. Raise Invalid_argument
if k
is the empty path.
test_and_set t key ~test ~set
sets key
to set
only if the current value of key
is test
and in that case returns true
. If the current value of key
is different, it returns false
. None
means that the value does not have to exist or is removed.
Note: The operation is guaranteed to be atomic.
list t
it the list of keys in t
. RW
stores are typically smaller than AO
stores, so scanning these is usually cheap.
watch_key t k ?init f
adds f
to the list of t
's watch handlers for the key k
and returns the watch handler to be used with unwatch
. init
is the optional initial value of the key.
val v : Irmin.config -> t Lwt.t
v config
is a function returning fresh store handles, with the configuration config
, which is provided by the backend.