package octez-shell-libs
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=55ea1fb8bb3273a7fc270ca8f650d45c56449665619482aad9bc12f3ea736b7e
sha512=fec850fc2d17d7490bbabd5147d62aad13b3aaed8774270f8a38ab419670ed03e0fd30cf8642a97984eca5c2446726fe590ad99c015f7ec50919dc7652f25053
doc/octez-shell-libs.shell/Tezos_shell/Synchronisation_heuristic/Bootstrapping/index.html
Module Synchronisation_heuristic.Bootstrapping
Source
Bootstrapping
This module inherits from Core
and handle a bootstrapped flag as well as Lwt
callbacks when the status of heuristic or the bootstrap flag changes.
The bootstrap flag is set to true
in two cases:
- When the core heuristic status is
Synchronised
for the first time
- When
force_bootstrapped state b
is called withb = true
Only the function force_bootstrapped
can set the boolean flag to false
.
val create :
?when_bootstrapped_changes:(bool -> unit Lwt.t) ->
?when_status_changes:(status -> unit Lwt.t) ->
threshold:int ->
latency:int ->
unit ->
t
create ?when_bootstrapped_changes ?when_status_changes ~threshold ~latency ()
is a wrapper around Core.create ~threshold ~latency ()
.
when_status_changes
is a callback called immediately when the status changes (as a result of some calls toupdate
) and when the status is first set (as a result of callingactivate
).
when_bootstrapped_changes
is a callback called immediately when the bootstrap flagged changes (as a result of some calls toupdate
or toforce_bootstrapped
) or when the flag is first set (as a result of callingactivate
).
activate state
activates the heuristics. It sets the status and the bootstrap flag to their initial values (which depend on the initial value of threshold
) and calls the when_status_changes
and when_bootstrapped_changes
callbacks with these initial values.
This function is intended to be used once, after the call to create
and before the first call to update
.
update state candidate
is a wrapper around Core.update
. If an update
changes the status of the core heuristic, the when_status_changes
callback is called. Similarly, if an update
changes the bootstrap flag, the when_bootstrapped_changes
callback is called.
force_bootstrapped state b
forces the status of the bootstrap flag. If the value of the flag changes as a result, the callback when_bootstrapped_changes
is called.