package octez-shell-libs
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=aa2f5bc99cc4ca2217c52a1af2a2cdfd3b383208cb859ca2e79ca0903396ca1d
sha512=d68bb3eb615e3dcccc845fddfc9901c95b3c6dc8e105e39522ce97637b1308a7fa7aa1d271351d5933febd7476b2819e1694f31198f1f0919681f1f9cc97cb3a
doc/octez-shell-libs.shell/Tezos_shell/Synchronisation_heuristic/Bootstrapping/index.html
Module Synchronisation_heuristic.BootstrappingSource
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
Synchronisedfor the first time
- When
force_bootstrapped state bis 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 ->
tcreate ?when_bootstrapped_changes ?when_status_changes ~threshold ~latency () is a wrapper around Core.create ~threshold ~latency ().
when_status_changesis 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_changesis a callback called immediately when the bootstrap flagged changes (as a result of some calls toupdateor 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.