Module P2p_pool.Points

type ('msg, 'peer, 'conn) info = ('msg, 'peer, 'conn) P2p_conn.t P2p_point_state.Info.t
val info : ('msg, 'peer, 'conn) t -> Mavryk_base.TzPervasives.P2p_point.Id.t -> ('msg, 'peer, 'conn) info option
val fold_known : ('msg, 'peer, 'conn) t -> init:'a -> f: (Mavryk_base.TzPervasives.P2p_point.Id.t -> ('msg, 'peer, 'conn) P2p_conn.t P2p_point_state.Info.t -> 'a -> 'a) -> 'a

fold_known pool ~init ~f computes (f iN pN ... (f i1 p1 init)...) where id1 ... idN are the ids of every known points and p1 ... pN the associated points info.

val iter_known : (Mavryk_base.TzPervasives.P2p_point.Id.t -> ('msg, 'peer, 'conn) P2p_conn.t P2p_point_state.Info.t -> unit) -> ('msg, 'peer, 'conn) t -> unit

iter_known f pool applies f to all known points of pool.

val fold_connected : ('msg, 'peer, 'conn) t -> init:'a -> f: (Mavryk_base.TzPervasives.P2p_point.Id.t -> ('msg, 'peer, 'conn) info -> 'a -> 'a) -> 'a

fold_known pool ~init ~f computes (f iN pN ... (f i1 p1 init)...) where id1 ... idN are the ids of every connected points and p1 ... pN the associated points info.

val add_connected : ('msg, 'peer, 'conn) t -> Mavryk_base.TzPervasives.P2p_point.Id.t -> ('msg, 'peer, 'conn) P2p_conn.t P2p_point_state.Info.t -> unit
val remove_connected : ('msg, 'peer, 'conn) t -> 'd P2p_point_state.Info.t -> unit
val ban : ('msg, 'peer, 'conn) t -> ?ban_peers:bool -> Mavryk_base.TzPervasives.P2p_point.Id.t -> unit Lwt.t

ban t point_id marks the address of this point_id as blacklisted. It disconnects and bans all connections to this address. If ban_peers is false the associated peers are disconnected but not banned. The point_id port is ignored.

val unban : ('msg, 'peer, 'conn) t -> Mavryk_base.TzPervasives.P2p_point.Id.t -> unit

unban t point_id removes this point address from the black list. and unban all associated peers. The point_id port is ignored.

val banned : ('msg, 'peer, 'conn) t -> Mavryk_base.TzPervasives.P2p_point.Id.t -> bool

banned t point_id returns true if the point addr is in the black list. This point_id's port is ignored.

val get_trusted : ('msg, 'peer, 'conn) t -> Mavryk_base.TzPervasives.P2p_point.Id.t -> bool

get_trusted t point_id returns false if this point isn't known. Otherwise it calls trusted for this peer info.

val trust : ('msg, 'peer, 'conn) t -> Mavryk_base.TzPervasives.P2p_point.Id.t -> unit

trust t point_id sets the point info for this point to trusted, and unban it. The point is registered first if not known (see register_point).

val untrust : ('msg, 'peer, 'conn) t -> Mavryk_base.TzPervasives.P2p_point.Id.t -> unit

untrust t point_id sets the point info peer info for this point to not trusted. Does nothing if point isn't known.

val get_greylisted_list : ('msg, 'peer, 'conn) t -> Mavryk_base.TzPervasives.P2p_addr.t list

get_greylisted_list t if greylisted_list_not_reliable_since t returns None, returns the list of currently greylisted IPs.

val greylisted_list_not_reliable_since : ('msg, 'peer, 'conn) t -> Mavryk_base.TzPervasives.Time.System.t option