package tezos-p2p

  1. Overview
  2. Docs

Local peer discovery.

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

  • The sender worker whose role is to broadcast discovery messages.
  • The answer worker whose role is to listen discovery messages and register new peers in the current pool. Discovery messages are composed of an arbitrary key, the listening port and the peer id of the current peer.
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 -> Tezos_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.