Module Mavryk_p2p.P2p_discovery

Local peer discovery.

This module manages the discovery of local peers through UDP broadcasting. It is composed of two workers:

type t

Type of a discovery worker.

val create : listening_port:int -> discovery_port:int -> discovery_addr:Ipaddr.V4.t -> trust_discovered_peers:bool -> ('a, 'b, 'c) P2p_pool.t -> Mavryk_base.TzPervasives.P2p_peer.Table.key -> t

create ~listening_port ~discovery_port ~discovery_addr pool peer_id returns a discovery worker registering local peers to the pool and broadcasting discovery messages with the peer_id and the listening_port through the address discovery_addr:discovery_port.

val activate : t -> unit
val wakeup : t -> unit

wakeup t sends a signal to the sender machine of t, asking it to immediately proceed to broadcasting.

val shutdown : t -> unit Lwt.t

shutdown t returns when t has completed shutdown.