package octez-shell-libs
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=c6df840ebbf115e454db949028c595bec558a59a66cade73b52a6d099d6fa4d4
sha512=d8aee903b9fe130d73176bc8ec38b78c9ff65317da3cb4f3415f09af0c625b4384e7498201fdb61aa39086a7d5d409d0ab3423f9bc3ab989a680cf444a79bc13
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.