Mavryk_scoru_wasm.Durable
Attempted to write/read to/from a value at offset
, beyond the limit
.
val encoding : t Mavryk_tree_encoding.t
encoding
is a Mavryk_tree_encoding
for t
.
val of_storage :
default:t ->
Mavryk_webassembly_interpreter.Durable_storage.t ->
t
val of_storage_exn : Mavryk_webassembly_interpreter.Durable_storage.t -> t
val to_storage : t -> Mavryk_webassembly_interpreter.Durable_storage.t
Type describing the behavior of generic functions:
Value
indicates the operation should work on the value onlyDirectory
indicates the operation should work on the value and all subkeys under the given key.See hash
, for example.
key
is the type that indexes t
. It enforces several constraints:
val key_of_string_exn : string -> key
val key_of_string_opt : string -> key option
exists tree key
returns true
iff there exists a value or a directory under key
in tree
, and false
otherwise.
val find_value :
t ->
key ->
Mavryk_lazy_containers.Chunked_byte_vector.t option Lwt.t
find_value durable key
optionally looks for the value encoded at key
in durable
.
val find_value_exn :
t ->
key ->
Mavryk_lazy_containers.Chunked_byte_vector.t Lwt.t
copy_tree_exn tree ?edit_readonly from_key to_key
produces a new tree in which a copy of the entire subtree at from_key is copied to to_key.
~edit_readonly:true
allows a a tree to be copied into a readonly location.
move_tree_exn tree from_key to_key
produces a new tree in which the entire subtree at from_key is moved to to_key.
count_subtrees durable key
returns the number of subtrees under key
.
subtree_name_at durable key n
returns the name of the n_th subtree under key
.
delete ?edit_readonly ~kind durable key
deletes the value of key
if kind = `Value
, and subtrees and/or values of key
if kind = `All
.
val hash :
kind:kind ->
t ->
key ->
Mavryk_base.TzPervasives.Context_hash.t option Lwt.t
hash ~kind durable key
retrieves the tree hash of the value (if kind =
Value
) or the complete directory (kind = Directory
) at the given key
. This is not the same as the hash of the value.
val hash_exn :
kind:kind ->
t ->
key ->
Mavryk_base.TzPervasives.Context_hash.t Lwt.t
hash_exn ~kind durable key
retrieves the tree hash of the value (if kind
= Value
) or the complete directory (kind = Directory
) at the given key
. This is not the same as the hash of the value.
set_value_exn durable key str
installs the value str
in durable
under key
, replacing any previous contents under this key without fetching it.
create_value_exn ?edit_readonly durable key size
allocates a new value of size
at the given key
. Returns Some durable
if the value didn't exist, and None
if there was already a value at the given key
write_value_exn ?edit_readonly durable key offset bytes
writes bytes
to key
, starting at the given offset
.
If no value at key
exists, it is created.
~edit_readonly:true
allows a value to be written into a readonly location.
read_value durable key offset max_bytes
reads up to max_bytes
bytes from the value at key
, starting at the given offset
.
module Internal_for_tests : sig ... end