Module Introspection.Connections

type t
val empty : t
val bindings : t -> (Peer.t * connection) list
val find : Peer.t -> t -> connection option
val mem : Peer.t -> t -> bool
val add_peer : Peer.t -> direct:bool -> outbound:bool -> t -> [ `added of t | `already_known ]
val subscribe : Peer.t -> Topic.t -> t -> [ `unknown_peer | `subscribed of t ]
val unsubscribe : Peer.t -> Topic.t -> t -> [ `unknown_peer | `unsubscribed of t ]
val remove : Peer.t -> t -> t
val fold : (Peer.t -> connection -> 'b -> 'b) -> t -> 'b -> 'b
val iter : (Peer.t -> connection -> unit) -> t -> unit
val peers_in_topic : Topic.t -> t -> Peer.Set.t
val peers_per_topic_map : t -> Peer.Set.t Topic.Map.t