package octez-shell-libs
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=c6df840ebbf115e454db949028c595bec558a59a66cade73b52a6d099d6fa4d4
sha512=d8aee903b9fe130d73176bc8ec38b78c9ff65317da3cb4f3415f09af0c625b4384e7498201fdb61aa39086a7d5d409d0ab3423f9bc3ab989a680cf444a79bc13
doc/octez-shell-libs.shell/Tezos_shell/Prevalidator_pending_operations/index.html
Module Tezos_shell.Prevalidator_pending_operations
Source
The priority of a pending operation.
A priority is attached to each pending operation.
This type is used for data representing pending operations of the prevalidator. Any iterator on this structure will process operations with `High
priority first, followed by `Medium
and finally `Low
priority.
module Sized_set :
Tezos_base.Sized.SizedSet
with type set := Tezos_base.TzPervasives.Operation_hash.Set.t
This module implements a sized-set data-structure.
hashes p
returns the set of hashes contained in p
val operations :
'protocol_data t ->
'protocol_data Shell_operation.operation
Tezos_base.TzPervasives.Operation_hash.Map.t
operations p
returns the Map of bindings oph -> op
contained in p
is_empty p
returns true
if p
has operations, false
otherwise.
mem oph p
returns true
if oph
is found in p
, false
otherwise.
Complexity is O(log(n)), where n is the number of operations (hashes) in the structure.
val add :
'protocol_data Shell_operation.operation ->
priority ->
'protocol_data t ->
'protocol_data t
add oph op p prio
records the operation op
whose hash is oph
and whose priority is prio
in p
.
Complexity is O(log(n)), where n is the number of operations (hashes) in the structure.
It is unspecified behaviour to call this function with a hash (oph
) which is already recorded in the data-structure (p
). It is your responsibility as the caller of the function to ensure this.
remove oph op p
removes the binding oph
from p
.
Complexity is O(log(n)), where n is the number of operations (hashes) in the structure.
cardinal p
returns the number of operations (hashes) in p
.
Complexity is O(n), where n is the number of operations (hashes) in the structure.
val fold :
(priority ->
Tezos_base.TzPervasives.Operation_hash.t ->
'protocol_data Shell_operation.operation ->
'a ->
'a) ->
'protocol_data t ->
'a ->
'a
fold f p acc
applies the function f
on every binding oph
|-> op
of priority prio
in p
. The acc
is passed to and (possibly) updated by every call to f
.
We iterate on operations with `High priority first, then on those with `Low priority. For operations with the same priority, the iteration order is defined Operation_hash.compare
function (operations with small hashes are processed first).
val iter :
(priority ->
Tezos_base.TzPervasives.Operation_hash.t ->
'protocol_data Shell_operation.operation ->
unit) ->
'protocol_data t ->
unit
iter f p
is similar to fold
where acc
is unit
val fold_es :
(priority ->
Tezos_base.TzPervasives.Operation_hash.t ->
'protocol_data Shell_operation.operation ->
'a ->
('a, 'b) result Lwt.t) ->
'protocol_data t ->
'a ->
('a, 'b) result Lwt.t
fold_es f p acc
is the Lwt version of fold
, except that fold_es
returns wihtout iterating over all the elements of the list as soon as a value Error e
is returned by f