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 LedgerT = Traits::LedgerT
using TxSetT = Traits::TxSetT
using NodeIDT = Traits::NodeIDT
using TxT = TxSetT::Tx
using ProposalT = ConsensusProposal<NodeIDT, typename LedgerT::ID, typename TxSetT::ID>
using DisputeT = DisputedTx<TxT, NodeIDT>

Public Member Functions

 ConsensusResult (TxSetT &&s, ProposalT &&p)

Public Attributes

TxSetT txns
 The set of transactions consensus agrees go in the ledger.
ProposalT position
 Our proposed position on transactions/close time.
HashMap< typename TxT::ID, DisputeT > disputes
 Transactions which are under dispute with our peers.
HashSet< typename TxSetT::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 283 of file ConsensusTypes.h.

Member Typedef Documentation

◆ LedgerT

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

Definition at line 285 of file ConsensusTypes.h.

◆ TxSetT

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

Definition at line 286 of file ConsensusTypes.h.

◆ NodeIDT

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

Definition at line 287 of file ConsensusTypes.h.

◆ TxT

template<class Traits>
using xrpl::ConsensusResult< Traits >::TxT = TxSetT::Tx

Definition at line 289 of file ConsensusTypes.h.

◆ ProposalT

template<class Traits>
using xrpl::ConsensusResult< Traits >::ProposalT = ConsensusProposal<NodeIDT, typename LedgerT::ID, typename TxSetT::ID>

Definition at line 290 of file ConsensusTypes.h.

◆ DisputeT

template<class Traits>
using xrpl::ConsensusResult< Traits >::DisputeT = DisputedTx<TxT, NodeIDT>

Definition at line 291 of file ConsensusTypes.h.

Constructor & Destructor Documentation

◆ ConsensusResult()

template<class Traits>
xrpl::ConsensusResult< Traits >::ConsensusResult ( TxSetT && s,
ProposalT && p )

Definition at line 293 of file ConsensusTypes.h.

Member Data Documentation

◆ txns

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

The set of transactions consensus agrees go in the ledger.

Definition at line 301 of file ConsensusTypes.h.

◆ position

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

Our proposed position on transactions/close time.

Definition at line 306 of file ConsensusTypes.h.

◆ disputes

template<class Traits>
HashMap<typename TxT::ID, DisputeT> xrpl::ConsensusResult< Traits >::disputes

Transactions which are under dispute with our peers.

Definition at line 311 of file ConsensusTypes.h.

◆ compares

template<class Traits>
HashSet<typename TxSetT::ID> xrpl::ConsensusResult< Traits >::compares

Definition at line 314 of file ConsensusTypes.h.

◆ roundTime

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

Definition at line 317 of file ConsensusTypes.h.

◆ state

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

Definition at line 321 of file ConsensusTypes.h.

◆ proposers

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

Definition at line 324 of file ConsensusTypes.h.