package tezos-dal-node-lib

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

This module defines the data structures used to instantiate the Octez P2P library. More exactly, it exposes:

  • the types p2p_message, peer_metadata and connection_metadata, used to instantiate type variables of P2p.t;
  • the values peer_metadata_cfg of type P2p_params.peer_meta_config, conn_metadata_cfg of type P2p_params.conn_meta_config and message_cfg of type P2p_params.message_config that are used when calling P2p.create.

Peers exchanged via PX. point represents the (address, port) pair of the exchanged peer, while peer represents the cryptographic identity of the peer.

type p2p_message =
  1. | Graft of {
    1. topic : Types.Topic.t;
    }
  2. | Prune of {
    1. topic : Types.Topic.t;
    2. px : px_peer Tezos_base.TzPervasives.Seq.t;
    3. backoff : Types.Span.t;
    }
  3. | IHave of {
    1. topic : Types.Topic.t;
    2. message_ids : Types.Message_id.t list;
    }
  4. | IWant of {
    1. message_ids : Types.Message_id.t list;
    }
  5. | Subscribe of {
    1. topic : Types.Topic.t;
    }
  6. | Unsubscribe of {
    1. topic : Types.Topic.t;
    }
  7. | Message_with_header of {
    1. message : Types.Message.t;
    2. topic : Types.Topic.t;
    3. message_id : Types.Message_id.t;
    }

Without piggybacking, p2p_message is almost identical to Gs_interface.p2p_message, except that for the Prune case, P2p_peer.Id.t elements in px are augmented by their P2p_point.Id.t counterpart.

val message_config : network_name:string -> p2p_message Tezos_base.TzPervasives.P2p_params.message_config

A P2P message config is parameterized by the network's name.

val version : network_name:string -> Tezos_base.TzPervasives.Network_version.t