Module Mavryk_p2p.P2p_protocol

This module defines constructor for the private and default P2p_answerer.t. Both pass messages `Message msg` to the upper-layer. The private answerer ignore all other messages.

type ('msg, 'peer, 'conn) config = {
  1. swap_linger : Mavryk_base.TzPervasives.Time.System.Span.t option;
    (*

    Peer swapping does not occur more than once during a timespan of swap_linger. If None, the swap mechanism is disabled.

    *)
  2. pool : ('msg, 'peer, 'conn) P2p_pool.t;
  3. log : Mavryk_base.TzPervasives.P2p_connection.P2p_event.t -> unit;
  4. connect : Mavryk_base.TzPervasives.P2p_point.Id.t -> ('msg, 'peer, 'conn) P2p_conn.t Mavryk_base.TzPervasives.tzresult Lwt.t;
  5. mutable latest_accepted_swap : Mavryk_base.TzPervasives.Time.System.t;
  6. mutable latest_successful_swap : Mavryk_base.TzPervasives.Time.System.t;
}

The config type contains "global" values and configuration option used by the default answerer, known when setting up the connection handler in P2p

val create_default : ('msg, 'peer, 'conn) config -> 'msg P2p_answerer.t
val create_private : unit -> 'msg P2p_answerer.t