Mavryk_p2p.P2p_trigger
This module defines some condition values for inter modules synchronization.
Conditions are triggered by P2p_pool
and P2p_connect_handler
. They are used in particular by the maintenance worker in P2p_maintenance
. Conditions are always broadcast (and not signaled), waiters should take that into account and avoid side effects
val create : unit -> t
val wait_too_few_connections : t -> unit Lwt.t
wait_too_few_connections t
resolves when the number of connections drops below the desired level.
val wait_too_many_connections : t -> unit Lwt.t
wait_too_many_connections t
resolves when the number of connections exceeds the desired level.
val wait_new_peer : t -> unit Lwt.t
wait_new_peer t
resolves when a new peer (i.e. authentication successful) gets added to the pool.
val wait_new_point : t -> unit Lwt.t
wait_new_point t
resolves when a new point gets registered to the pool.
val wait_new_connection : t -> unit Lwt.t
wait_new_connection t
resolves when a new connection is successfully established in the pool.
val broadcast_new_point : t -> unit
val broadcast_new_connection : t -> unit
val broadcast_new_peer : t -> unit
val broadcast_too_few_connections : t -> unit
val broadcast_too_many_connections : t -> unit