package octez-shell-libs
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=aa2f5bc99cc4ca2217c52a1af2a2cdfd3b383208cb859ca2e79ca0903396ca1d
sha512=d68bb3eb615e3dcccc845fddfc9901c95b3c6dc8e105e39522ce97637b1308a7fa7aa1d271351d5933febd7476b2819e1694f31198f1f0919681f1f9cc97cb3a
doc/octez-shell-libs.p2p/Tezos_p2p/P2p_params/index.html
Module Tezos_p2p.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 Tezos_base.TzPervasives.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 Tezos_base.TzPervasives.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 Tezos_base.TzPervasives.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 : Tezos_base.TzPervasives.Distributed_db_version.Name.t;
(*Identifier for this P2p protocol when establishing session.
*)distributed_db_versions : Tezos_base.TzPervasives.Distributed_db_version.t list;
(*List of versions supported by this P2p protocol.
*)
}
Application-level messages encoding, and version parameters