Parameter Make.5-Io

type t
type nid
type node
type view
val initiate_gossip : t -> node -> view -> view Lwt.t

initiate_gossip dst xchg sends xchg entries to node and returns response

val respond_gossip : t -> node -> view -> unit Lwt.t

respond_gossip t src xchg sends xchg entries in response to node

val gossip_recvd : t -> node -> view -> view -> view Lwt.t

gossip_recvd t src recvd view is called after entries are received during an exchange; allows rewriting recvd entries with the returned value, thus allows using a stream sampler such as URPS to provide uniformly random nodes instead of the possibly biased exchanged nodes

val view_updated : t -> node -> view -> unit Lwt.t

view_updated node view is called when view has been updated after a gossip exchange with node

val get_xview : t -> view

get_xview t is called before selecting entries for a gossip exchange and should return the view of other gossip protocol(s), if any.