package octez-shell-libs
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=dbc3b675aee59c2c574e5d0a771193a2ecfca31e7a5bc5aed66598080596ce1c
sha512=b97ed762b9d24744305c358af0d20f394376b64bfdd758dd4a81775326caf445caa57c4f6445da3dd6468ff492de18e4c14af6f374dfcbb7e4d64b7b720e5e2a
doc/octez-shell-libs.p2p/Tezos_p2p/P2p_answerer/index.html
Module Tezos_p2p.P2p_answerer
Source
An Answerer.t
is a set of callback functions, parameterized by conn_info
record. The conn_info
records contains values useful for the callback functions to perform their task, and known after the connection is set up.
The callback functions are called when the node receives `P2p_messages.t` messages. The parameters are the values carried by the message, and a request_info
record that contains values pertaining to the connection that may change during the life of the connection.
type 'msg conn_info = {
peer_id : Tezos_base.TzPervasives.P2p_peer.Id.t;
is_private : bool;
write_advertise : Tezos_base.TzPervasives.P2p_point.Id.t list -> bool Tezos_base.TzPervasives.tzresult;
(*
*)write_advertise points
must send the messageAdvertise(points)
to the internalpeer_id
. It must returnOk true
if the message has been successfully sent,Ok false
if the message has been dropped, or fails with a corresponding error otherwise.write_swap_ack : Tezos_base.TzPervasives.P2p_point.Id.t -> Tezos_base.TzPervasives.P2p_peer.Id.t -> bool Tezos_base.TzPervasives.tzresult;
(*
*)write_swap_ack (p1, p2)
must send the messageSwap_ack(p1, p2)
to the internalpeer_id
. It must returnOk true
if the message has been successfully sent,Ok false
if the message has been dropped, or fails with a corresponding error otherwise.messages : (int * 'msg) Tezos_stdlib.Lwt_pipe.Maybe_bounded.t;
}
type request_info = {
last_sent_swap_request : (Tezos_base.TzPervasives.Time.System.t * Tezos_base.TzPervasives.P2p_peer.Id.t) option;
}
type 'msg callback = {
bootstrap : request_info -> unit Tezos_base.TzPervasives.tzresult Lwt.t;
advertise : request_info -> Tezos_base.TzPervasives.P2p_point.Id.t list -> unit Lwt.t;
message : request_info -> int -> 'msg -> unit Lwt.t;
swap_request : request_info -> Tezos_base.TzPervasives.P2p_point.Id.t -> Tezos_base.TzPervasives.P2p_peer.Id.t -> unit Lwt.t;
swap_ack : request_info -> Tezos_base.TzPervasives.P2p_point.Id.t -> Tezos_base.TzPervasives.P2p_peer.Id.t -> unit Lwt.t;
}