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
Constructors
Name | Description |
this
(localNodeID)
|
Initialize a new QuorumTracker
|
Methods
Name | Description |
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
Name | Description |
QuorumMap
|
The Node ID => Quorum set map type
|