rippled
Public Types | Public Member Functions | Public Attributes | List of all members
ripple::ConsensusResult< Traits > Struct Template Reference

Encapsulates the result of consensus. More...

Collaboration diagram for ripple::ConsensusResult< Traits >:
Collaboration graph
[legend]

Public Types

using Ledger_t = typename Traits::Ledger_t
 
using TxSet_t = typename Traits::TxSet_t
 
using NodeID_t = typename Traits::NodeID_t
 
using Tx_t = typename TxSet_t::Tx
 
using Proposal_t = ConsensusProposal< NodeID_t, typename Ledger_t::ID, typename TxSet_t::ID >
 
using Dispute_t = DisputedTx< Tx_t, NodeID_t >
 

Public Member Functions

 ConsensusResult (TxSet_t &&s, Proposal_t &&p)
 

Public Attributes

TxSet_t txns
 The set of transactions consensus agrees go in the ledger. More...
 
Proposal_t position
 Our proposed position on transactions/close time. More...
 
hash_map< typename Tx_t::ID, Dispute_tdisputes
 Transactions which are under dispute with our peers. More...
 
hash_set< typename TxSet_t::ID > compares
 
ConsensusTimer roundTime
 
ConsensusState state = ConsensusState::No
 
std::size_t proposers = 0
 

Detailed Description

template<class Traits>
struct ripple::ConsensusResult< Traits >

Encapsulates the result of consensus.

Stores all relevant data for the outcome of consensus on a single ledger.

Template Parameters
TraitsTraits class defining the concrete consensus types used by the application.

Definition at line 201 of file ConsensusTypes.h.

Member Typedef Documentation

◆ Ledger_t

template<class Traits >
using ripple::ConsensusResult< Traits >::Ledger_t = typename Traits::Ledger_t

Definition at line 203 of file ConsensusTypes.h.

◆ TxSet_t

template<class Traits >
using ripple::ConsensusResult< Traits >::TxSet_t = typename Traits::TxSet_t

Definition at line 204 of file ConsensusTypes.h.

◆ NodeID_t

template<class Traits >
using ripple::ConsensusResult< Traits >::NodeID_t = typename Traits::NodeID_t

Definition at line 205 of file ConsensusTypes.h.

◆ Tx_t

template<class Traits >
using ripple::ConsensusResult< Traits >::Tx_t = typename TxSet_t::Tx

Definition at line 207 of file ConsensusTypes.h.

◆ Proposal_t

template<class Traits >
using ripple::ConsensusResult< Traits >::Proposal_t = ConsensusProposal< NodeID_t, typename Ledger_t::ID, typename TxSet_t::ID>

Definition at line 211 of file ConsensusTypes.h.

◆ Dispute_t

template<class Traits >
using ripple::ConsensusResult< Traits >::Dispute_t = DisputedTx<Tx_t, NodeID_t>

Definition at line 212 of file ConsensusTypes.h.

Constructor & Destructor Documentation

◆ ConsensusResult()

template<class Traits >
ripple::ConsensusResult< Traits >::ConsensusResult ( TxSet_t &&  s,
Proposal_t &&  p 
)

Definition at line 214 of file ConsensusTypes.h.

Member Data Documentation

◆ txns

template<class Traits >
TxSet_t ripple::ConsensusResult< Traits >::txns

The set of transactions consensus agrees go in the ledger.

Definition at line 221 of file ConsensusTypes.h.

◆ position

template<class Traits >
Proposal_t ripple::ConsensusResult< Traits >::position

Our proposed position on transactions/close time.

Definition at line 224 of file ConsensusTypes.h.

◆ disputes

template<class Traits >
hash_map<typename Tx_t::ID, Dispute_t> ripple::ConsensusResult< Traits >::disputes

Transactions which are under dispute with our peers.

Definition at line 227 of file ConsensusTypes.h.

◆ compares

template<class Traits >
hash_set<typename TxSet_t::ID> ripple::ConsensusResult< Traits >::compares

Definition at line 230 of file ConsensusTypes.h.

◆ roundTime

template<class Traits >
ConsensusTimer ripple::ConsensusResult< Traits >::roundTime

Definition at line 233 of file ConsensusTypes.h.

◆ state

template<class Traits >
ConsensusState ripple::ConsensusResult< Traits >::state = ConsensusState::No

Definition at line 237 of file ConsensusTypes.h.

◆ proposers

template<class Traits >
std::size_t ripple::ConsensusResult< Traits >::proposers = 0

Definition at line 240 of file ConsensusTypes.h.