Struct QuorumTracker

helper class to help track the overall quorum over time a node tracked is definitely in the transitive quorum. If its associated quorum set is empty (nullptr), it just means that another node has that node in its quorum set but could not explore the quorum further (as we're missing the quorum set) Nodes can be added one by one (calling expand, most efficient) or the quorum can be rebuilt from scratch by using a lookup function

struct QuorumTracker ;

Constructors

NameDescription
this (localNodeID) Initialize a new QuorumTracker

Methods

NameDescription
expand (id, qSet) attempts to expand quorum at node id expansion here means adding id to the known quorum and add its dependencies as defined by qset returns true if expansion succeeded id was unknown id was known and didn't have a quorumset returns false on failure if expand fails, the caller should instead use rebuild
getQuorum () returns the known quorum map of the entire network
isNodeDefinitelyInQuorum (id) returns true if id is in transitive quorum for sure

Aliases

NameDescription
QuorumMap The Node ID => Quorum set map type