Represents a proposed position taken during a round of consensus.
template< class NodeID_t, class LedgerID_t, class Position_t> class ConsensusProposal
Name |
Description |
---|---|
Name |
Description |
---|---|
Constructor. |
|
Leave consensus. |
|
Update the position during the consensus process. |
|
The current position on the consensus close time. |
|
Get JSON representation for debugging. |
|
Get whether this node left the consensus process. |
|
Whether this is the first position taken during the current consensus round. |
|
Get whether this position is stale relative to the provided cutoff. |
|
Identifying which peer took this position. |
|
Get the proposed position. |
|
Get the prior accepted ledger this position is based on. |
|
Get the sequence number of this proposal. |
|
Get when this position was taken. |
During consensus, peers seek agreement on a set of transactions to apply
to the prior ledger to generate the next ledger. Each peer takes a position
on whether to include or exclude potential transactions. The position on
the set of transactions is proposed to its peers as an instance of the ConsensusProposal
class.
An instance of ConsensusProposal
can be either
our own proposal or one of our peer's.
As consensus proceeds, peers may change their position on the transaction,
or choose to abstain. Each successive proposal includes a strictly monotonically
increasing number (or, if a peer is choosing to abstain, the special value
seqLeave
).
Refer to Consensus
for requirements of the template arguments.
Type |
Description |
---|---|
|
Type used to uniquely identify nodes/peers |
|
Type used to uniquely identify ledgers |
|
Type used to represent the position taken on transactions under consideration during this round of consensus |
#include <ripple/consensus/ConsensusProposal.h>