ligo/src/lib_base/p2p_point.mli

95 lines
2.8 KiB
OCaml

(**************************************************************************)
(* *)
(* Copyright (c) 2014 - 2018. *)
(* Dynamic Ledger Solutions, Inc. <contact@tezos.com> *)
(* *)
(* All rights reserved. No warranty, explicit or implicit, provided. *)
(* *)
(**************************************************************************)
module Id : sig
type t = P2p_addr.t * P2p_addr.port
val compare : t -> t -> int
val pp : Format.formatter -> t -> unit
val pp_opt : Format.formatter -> t option -> unit
val of_string_exn : string -> t
val of_string : string -> (t, string) result
val to_string : t -> string
val encoding : t Data_encoding.t
val is_local : t -> bool
val is_global : t -> bool
val parse_addr_port : string -> string * string
val rpc_arg : t RPC_arg.t
end
module Map : Map.S with type key = Id.t
module Set : Set.S with type elt = Id.t
module Table : Hashtbl.S with type key = Id.t
module State : sig
type t =
| Requested
| Accepted of P2p_peer_id.t
| Running of P2p_peer_id.t
| Disconnected
val pp_digram : Format.formatter -> t -> unit
val encoding : t Data_encoding.t
val of_p2p_peer_id : t -> P2p_peer_id.t option
val of_peerid_state : t -> P2p_peer_id.t option -> t
end
module Info : sig
type t = {
trusted : bool ;
greylisted_until : Time.t ;
state : State.t ;
last_failed_connection : Time.t option ;
last_rejected_connection : (P2p_peer_id.t * Time.t) option ;
last_established_connection : (P2p_peer_id.t * Time.t) option ;
last_disconnection : (P2p_peer_id.t * Time.t) option ;
last_seen : (P2p_peer_id.t * Time.t) option ;
last_miss : Time.t option ;
}
val encoding: t Data_encoding.t
end
module Pool_event : sig
type kind =
| Outgoing_request
(** We initiated a connection. *)
| Accepting_request of P2p_peer_id.t
(** We accepted a connection after authentifying the remote peer. *)
| Rejecting_request of P2p_peer_id.t
(** We rejected a connection after authentifying the remote peer. *)
| Request_rejected of P2p_peer_id.t option
(** The remote peer rejected our connection. *)
| Connection_established of P2p_peer_id.t
(** We succesfully established a authentified connection. *)
| Disconnection of P2p_peer_id.t
(** We decided to close the connection. *)
| External_disconnection of P2p_peer_id.t
(** The connection was closed for external reason. *)
type t = {
kind : kind ;
timestamp : Time.t ;
}
val encoding : t Data_encoding.t
end