P2p_pool.Peers
type ('msg, 'peer, 'conn) info =
(('msg, 'peer, 'conn) P2p_conn.t, 'peer, 'conn) P2p_peer_state.Info.t
val info :
('msg, 'peer, 'conn) t ->
Mavryk_base.TzPervasives.P2p_peer.Id.t ->
('msg, 'peer, 'conn) info option
val get_peer_metadata :
('msg, 'peer, 'conn) t ->
Mavryk_base.TzPervasives.P2p_peer.Id.t ->
'peer
val set_peer_metadata :
('msg, 'peer, 'conn) t ->
Mavryk_base.TzPervasives.P2p_peer.Id.t ->
'peer ->
unit
val get_score :
('msg, 'peer, 'conn) t ->
Mavryk_base.TzPervasives.P2p_peer.Id.t ->
float
val fold_known :
('msg, 'peer, 'conn) t ->
init:'a ->
f:
(Mavryk_base.TzPervasives.P2p_peer.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 known peers and p1 ... pN
the associated peers info.
val iter_known :
(Mavryk_base.TzPervasives.P2p_peer.Id.t -> ('msg, 'peer, 'conn) info -> unit) ->
('msg, 'peer, 'conn) t ->
unit
iter_known f pool
applies f
to all known peers of pool
.
val fold_connected :
('msg, 'peer, 'conn) t ->
init:'a ->
f:
(Mavryk_base.TzPervasives.P2p_peer.Id.t ->
('msg, 'peer, 'conn) info ->
'a ->
'a) ->
'a
fold_connected pool ~init ~f
computes (f iN pN ... (f i1 p1 init)...)
where id1 ... idN
are the ids of every connected peers and p1 ... pN
the associated peers info.
val add_connected :
('msg, 'peer, 'conn) t ->
Mavryk_base.TzPervasives.P2p_peer.Id.t ->
(('msg, 'peer, 'conn) P2p_conn.t, 'peer, 'conn) P2p_peer_state.Info.t ->
unit
val remove_connected :
('msg, 'peer, 'conn) t ->
Mavryk_base.TzPervasives.P2p_peer.Id.t ->
unit
val ban :
('msg, 'peer, 'conn) t ->
Mavryk_base.TzPervasives.P2p_peer.Id.t ->
unit Lwt.t
ban t peer_id
blacklists this peer_id and terminates connection (if any).
val unban :
('msg, 'peer, 'conn) t ->
Mavryk_base.TzPervasives.P2p_peer.Id.t ->
unit
unban t peer_id
removes this peer_id from the black list.
val banned :
('msg, 'peer, 'conn) t ->
Mavryk_base.TzPervasives.P2p_peer.Id.t ->
bool
banned t peer_id
returns true
if the peer is in the black list.
val get_trusted :
('msg, 'peer, 'conn) t ->
Mavryk_base.TzPervasives.P2p_peer.Id.t ->
bool
get_trusted t peer_id
returns false
if this peer isn't known. Otherwise it calls trusted
for this peer info.
val trust :
('msg, 'peer, 'conn) t ->
Mavryk_base.TzPervasives.P2p_peer.Id.t ->
unit
trust t peer_id
sets the peer info for this peer to trusted, and unban
it. The peer is registered first if not known (see register_peer
).
val untrust :
('msg, 'peer, 'conn) t ->
Mavryk_base.TzPervasives.P2p_peer.Id.t ->
unit
untrust t peer_id
set the peer info for this peer to not trusted. Does nothing if this peer isn't known.
val get_greylisted_list :
('msg, 'peer, 'conn) t ->
Mavryk_base.TzPervasives.P2p_peer.Id.t list
get_greylisted_list t
returns the list of all the greylisted peers
val info_of_peer_info :
('msg, 'peer, 'conn) t ->
(('msg, 'peer, 'conn) P2p_conn.t, 'peer, 'conn) P2p_peer_state.Info.t ->
('peer, 'conn) Mavryk_base.TzPervasives.P2p_peer.Info.t
info_of_peer_info t peer
returns the peer info from the peer state info.