package irmin
Parameters
Signature
include S
with type key = AW.key
and type value = AW.value
and type watch = AW.watch
Atomic write stores
Atomic-write stores are stores where it is possible to read, update and remove elements, with atomically guarantees.
Read-only stores
Read-only stores are store where it is only possible to read existing values.
type key = AW.key
The type for keys.
type value = AW.value
The type for raw values.
find t k
is Some v
if k
is associated to v
in t
and None
is k
is not present in t
.
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.
type watch = AW.watch
The type of watch handlers.
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.
make_closeable t
returns a version of t
that raises Irmin.Closed
if an operation is performed when it is already closed.
get_if_open_exn t
returns the store (without close checks) if it is open; otherwise raises Irmin.Closed