20#ifndef RIPPLE_CONSENSUS_CONSENSUS_TYPES_H_INCLUDED 
   21#define RIPPLE_CONSENSUS_CONSENSUS_TYPES_H_INCLUDED 
   23#include <xrpld/consensus/ConsensusProposal.h> 
   24#include <xrpld/consensus/DisputedTx.h> 
   26#include <xrpl/basics/chrono.h> 
   83            return "switchedLedger";
 
 
  166        dur_ = duration_cast<milliseconds>(tp - 
start_);
 
 
 
  203template <
class Traits>
 
  210    using Tx_t = 
typename TxSet_t::Tx;
 
  213        typename Ledger_t::ID,
 
  214        typename TxSet_t::ID>;
 
  222            "ripple::ConsensusResult : valid inputs");
 
 
 
Position_t const & position() const
Get the proposed position.
 
Measures the duration of phases of consensus.
 
std::chrono::milliseconds read() const
 
void reset(time_point tp)
 
std::chrono::milliseconds dur_
 
std::chrono::steady_clock::time_point time_point
 
void tick(std::chrono::milliseconds fixed)
 
A transaction discovered to be in dispute during consensus.
 
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
 
ConsensusMode
Represents how a node currently participates in Consensus.
 
@ wrongLedger
We have the wrong ledger and are attempting to acquire it.
 
@ proposing
We are normal participant in consensus and propose our position.
 
@ switchedLedger
We switched ledgers since we started this consensus round but are now running on what we believe is t...
 
@ observing
We are observing peer positions, but not proposing our position.
 
ConsensusPhase
Phases of consensus for a single ledger round.
 
@ accepted
We have accepted a new last closed ledger and are waiting on a call to startRound to begin the next c...
 
@ open
We haven't closed our ledger yet, but others might have.
 
@ establish
Establishing consensus by exchanging proposals with our peers.
 
ConsensusState
Whether we have or don't have a consensus.
 
@ Expired
Consensus time limit has hard-expired.
 
@ MovedOn
The network has consensus without us.
 
@ No
We do not have consensus.
 
@ accepted
Manifest is valid.
 
std::string to_string(base_uint< Bits, Tag > const &a)
 
Stores the set of initial close times.
 
ConsensusCloseTimes()=default
 
std::map< NetClock::time_point, int > peers
Close time estimates, keep ordered for predictable traverse.
 
NetClock::time_point self
Our close time estimate.
 
Encapsulates the result of consensus.
 
typename Traits::Ledger_t Ledger_t
 
ConsensusResult(TxSet_t &&s, Proposal_t &&p)
 
typename TxSet_t::Tx Tx_t
 
hash_map< typename Tx_t::ID, Dispute_t > disputes
Transactions which are under dispute with our peers.
 
hash_set< typename TxSet_t::ID > compares
 
typename Traits::NodeID_t NodeID_t
 
TxSet_t txns
The set of transactions consensus agrees go in the ledger.
 
typename Traits::TxSet_t TxSet_t
 
Proposal_t position
Our proposed position on transactions/close time.