package octez-proto-libs
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=ddfb5076eeb0b32ac21c1eed44e8fc86a6743ef18ab23fff02d36e365bb73d61
sha512=d22a827df5146e0aa274df48bc2150b098177ff7e5eab52c6109e867eb0a1f0ec63e6bfbb0e3645a6c2112de3877c91a17df32ccbff301891ce4ba630c997a65
doc/octez-proto-libs.protocol-environment/Tezos_protocol_environment/V4/Make/Context/index.html
Module Make.ContextSource
View over the context store, restricted to types, access and functional manipulation of an existing context.
The tree depth of a fold. See the fold function for more information.
Tree provides immutable, in-memory partial mirror of the context, with lazy reads and delayed writes.
include VIEW
with type key = string list
and type value = bytes
with type t = Tezos_protocol_environment__.Environment_context.Context.t
The type for context views.
The type for context keys.
The type for context values.
The type for context trees.
Getters
mem t k is an Lwt promise that resolves to true iff k is bound to a value in t.
find t k is an Lwt promise that resolves to Some v if k is bound to the value v in t and None otherwise.
list t key is the list of files and sub-nodes stored under k in t. The result order is not specified but is stable.
offset and length are used for pagination.
Setters
add t k v is an Lwt promise that resolves to c such that:
kis bound tovinc;- and
cis similar tototherwise.
If k was already bound in t to a value that is physically equal to v, the result of the function is a promise that resolves to t. Otherwise, the previous binding of k in t disappears.
remove t k v is an Lwt promise that resolves to c such that:
kis unbound inc;- and
cis similar tototherwise.
Folding
val fold :
?depth:depth ->
t ->
key ->
order:[ `Sorted | `Undefined ] ->
init:'a ->
f:(key -> tree -> 'a -> 'a Lwt.t) ->
'a Lwt.tfold ?depth t root ~init ~f recursively folds over the trees and values of t. The f callbacks are called with a key relative to root. f is never called with an empty key for values; i.e., folding over a value is a no-op.
Elements are traversed in lexical order of keys.
The depth is 0-indexed. If depth is set (by default it is not), then f is only called when the conditions described by the parameter is true:
Eq dfolds over nodes and contents of depth exactlyd.Lt dfolds over nodes and contents of depth strictly less thand.Le dfolds over nodes and contents of depth less than or equal tod.Gt dfolds over nodes and contents of depth strictly more thand.Ge dfolds over nodes and contents of depth more than or equal tod.
If order is `Sorted (the default), the elements are traversed in lexicographic order of their keys. For large nodes, these two modes are memory-consuming, use `Undefined for a more memory efficient fold.
module Tree :
TREE
with type t := t
and type key := key
and type value := value
and type tree := treeTree provides immutable, in-memory partial mirror of the context, with lazy reads and delayed writes.
Get the hash version used for the context
Set the hash version used for the context. It may recalculate the hashes of the whole context, which can be a long process. Returns an Error if the hash version is unsupported.