package octez-libs
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=55ea1fb8bb3273a7fc270ca8f650d45c56449665619482aad9bc12f3ea736b7e
sha512=fec850fc2d17d7490bbabd5147d62aad13b3aaed8774270f8a38ab419670ed03e0fd30cf8642a97984eca5c2446726fe590ad99c015f7ec50919dc7652f25053
doc/octez-libs.base/Tezos_base/P2p_params/index.html
Module Tezos_base.P2p_params
Source
Types of the abstract data types (ADT) which parameterize the P2p layer.
Many types used in the P2p layer are parameterized by three type parameters:
'msg
: type of messages exchanged between peers'peer_meta
: type of the metadata associated with peers (score, etc.)'conn_meta
: type of the metadata associated with connections
These types are kept abstract from the P2p layer. It can only operate on them via a set of functions packed in a "configuration" record passed by the upper layer (see also P2p
and P2p.create
).
This module defines the type of these configuration records.
type 'peer_meta peer_meta_config = {
peer_meta_encoding : 'peer_meta Data_encoding.t;
peer_meta_initial : unit -> 'peer_meta;
(*Constructor
*)score : 'peer_meta -> float;
(*Score of a peer, used for ordering
*)
}
Metadata for a peer
type 'conn_meta conn_meta_config = {
conn_meta_encoding : 'conn_meta Data_encoding.t;
conn_meta_value : unit -> 'conn_meta;
(*Constructor
*)private_node : 'conn_meta -> bool;
(*Returns true if peer at the other end of the connection is in private mode
*)
}
Metadata for a connection.
type 'msg app_message_encoding =
| Encoding : {
tag : int;
title : string;
encoding : 'a Data_encoding.t;
wrap : 'a -> 'msg;
unwrap : 'msg -> 'a option;
max_length : int option;
} -> 'msg app_message_encoding
type 'msg message_config = {
encoding : 'msg app_message_encoding list;
(*Encoding of the messages.
*)chain_name : Distributed_db_version.Name.t;
(*Identifier for this P2p protocol when establishing session.
*)distributed_db_versions : Distributed_db_version.t list;
(*List of versions supported by this P2p protocol.
*)
}
Application-level messages encoding, and version parameters