xrpld
Loading...
Searching...
No Matches
xrpl::ConsensusResult< Traits > Struct Template Reference

Encapsulates the result of consensus. More...

#include <ConsensusTypes.h>

Collaboration diagram for xrpl::ConsensusResult< Traits >:

Public Types

using Ledger_t = Traits::Ledger_t
using TxSet_t = Traits::TxSet_t
using NodeID_t = Traits::NodeID_t
using Tx_t = 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.
Proposal_t position
 Our proposed position on transactions/close time.
hash_map< typename Tx_t::ID, Dispute_tdisputes
 Transactions which are under dispute with our peers.
hash_set< typename TxSet_t::ID > compares
ConsensusTimer roundTime
ConsensusState state = ConsensusState::No
std::size_t proposers = 0

Detailed Description

template<class Traits>
struct xrpl::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 184 of file ConsensusTypes.h.

Member Typedef Documentation

◆ Ledger_t

template<class Traits>
using xrpl::ConsensusResult< Traits >::Ledger_t = Traits::Ledger_t

Definition at line 186 of file ConsensusTypes.h.

◆ TxSet_t

template<class Traits>
using xrpl::ConsensusResult< Traits >::TxSet_t = Traits::TxSet_t

Definition at line 187 of file ConsensusTypes.h.

◆ NodeID_t

template<class Traits>
using xrpl::ConsensusResult< Traits >::NodeID_t = Traits::NodeID_t

Definition at line 188 of file ConsensusTypes.h.

◆ Tx_t

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

Definition at line 190 of file ConsensusTypes.h.

◆ Proposal_t

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

Definition at line 191 of file ConsensusTypes.h.

◆ Dispute_t

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

Definition at line 192 of file ConsensusTypes.h.

Constructor & Destructor Documentation

◆ ConsensusResult()

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

Definition at line 194 of file ConsensusTypes.h.

Member Data Documentation

◆ txns

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

The set of transactions consensus agrees go in the ledger.

Definition at line 200 of file ConsensusTypes.h.

◆ position

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

Our proposed position on transactions/close time.

Definition at line 203 of file ConsensusTypes.h.

◆ disputes

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

Transactions which are under dispute with our peers.

Definition at line 206 of file ConsensusTypes.h.

◆ compares

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

Definition at line 209 of file ConsensusTypes.h.

◆ roundTime

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

Definition at line 212 of file ConsensusTypes.h.

◆ state

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

Definition at line 216 of file ConsensusTypes.h.

◆ proposers

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

Definition at line 219 of file ConsensusTypes.h.