Module type S.SUBSCRIPTION
Subscriptions of this node to groups
include P2p.S.SUBSCRIPTION
val empty : 'a temptyreturns the empty subscription set.
val length : 'a t -> intlength treturns the number of groups in the subscription set.
val is_empty : 'a t -> boolis_empty treturns true if the subscription set is empty.
val find : gid -> 'a t -> (group * 'a) optionfind gid treturnsSome groupifgidis in the subscription set, otherwiseNone.
val filter : (gid -> (group * 'a) -> bool) -> 'a t -> 'a tval fold : (gid -> (group * 'a) -> 'b -> 'b) -> 'a t -> 'b -> 'bval iter : (gid -> (group * 'a) -> unit) -> 'a t -> unitval map : (gid -> (group * 'a) -> group * 'a) -> 'a t -> 'a tval to_list : 'a t -> (group * 'a) listto_list treturns the subscription set as list ordered by group ID.
val init : int -> 'a tint max_subsinitializes an empty subscription set withmax_subsmaximum number of subscriptions expected.
val of_list : int -> (group * 'a) list -> 'a tof_list max_subs sub_listinitializes a subscription set from a list of (group, metadata) pairs
val bloom : 'a t -> Bitv.tbloom treturns a bloom filter with the subscribed group IDs inserted.
val blip : 'a t -> float -> Bitv.tblip t eisbloomwith independent random bit flips.- parameter e
Differential privacy parameter ε. Determines the privacy-utility trade-off. See
Blip.p in the documentation of theBlipmodule.