Library
Module
Module type
Parameter
Class
Class type
The type for errors.
include Mirage_device.S
type key = Key.t
The type for keys.
val exists :
t ->
key ->
([ `Value | `Dictionary ] option, error) Pervasives.result io
exists t k
is Some `Value
if k
is bound to a value in t
, Some `Dictionary
if k
is a prefix of a valid key in t
and None
if no key with that prefix exists in t
.
exists
answers two questions: does the key exist and is it referring to a value or a dictionary.
An error occurs when the underlying storage layer fails.
get t k
is the value bound to k
in t
.
The result is Error (`Value_expected k)
if k
refers to a dictionary in t
.
val list :
t ->
key ->
((string * [ `Value | `Dictionary ]) list, error) Pervasives.result io
list t k
is the list of entries and their types in the dictionary referenced by k
in t
.
The result is Error (`Dictionary_expected k)
if k
refers to a value in t
.
val last_modified : t -> key -> (int * int64, error) Pervasives.result io
last_modified t k
is the last time the value bound to k
in t
has been modified.
The modification time (d, ps)
is a span for the signed POSIX picosecond span d
* 86_400e12 + ps
. d
is a signed number of POSIX days and ps
a number of picoseconds in the range [0
;86_399_999_999_999_999L
].
When the value bound to k
is a dictionary, the modification time is the latest modification of all entries in that dictionary. This behaviour is only one level deep and not recursive.
val digest : t -> key -> (string, error) Pervasives.result io
digest t k
is the unique digest of the value bound to k
in t
.
When the value bound to k
is a dictionary, the digest is a unique and deterministic digest of its entries.