rippled
Public Member Functions | Public Attributes | List of all members
ripple::TxQ::TxDetails Struct Reference

Structure that describes a transaction in the queue waiting to be applied to the current open ledger. More...

Collaboration diagram for ripple::TxQ::TxDetails:
Collaboration graph
[legend]

Public Member Functions

 TxDetails (FeeLevel64 feeLevel_, std::optional< LedgerIndex > const &lastValid_, TxConsequences const &consequences_, AccountID const &account_, SeqProxy seqProxy_, std::shared_ptr< STTx const > const &txn_, int retriesRemaining_, TER preflightResult_, std::optional< TER > lastResult_)
 Full initialization. More...
 

Public Attributes

FeeLevel64 feeLevel
 Fee level of the queued transaction. More...
 
std::optional< LedgerIndexlastValid
 LastValidLedger field of the queued transaction, if any. More...
 
TxConsequences consequences
 Potential TxConsequences of applying the queued transaction to the open ledger. More...
 
AccountID account
 The account the transaction is queued for. More...
 
SeqProxy seqProxy
 SeqProxy of the transaction. More...
 
std::shared_ptr< STTx const > txn
 The full transaction. More...
 
int retriesRemaining
 Number of times the transactor can return a retry / ter result when attempting to apply this transaction to the open ledger from the queue. More...
 
TER preflightResult
 The intermediate result returned by preflight before this transaction was queued, or after it is queued, but before a failed attempt to apply it to the open ledger. More...
 
std::optional< TERlastResult
 If the transactor attempted to apply the transaction to the open ledger from the queue and failed, then this is the transactor result from the last attempt. More...
 

Detailed Description

Structure that describes a transaction in the queue waiting to be applied to the current open ledger.

A collection of these is returned by TxQ::getTxs.

Definition at line 191 of file TxQ.h.

Constructor & Destructor Documentation

◆ TxDetails()

ripple::TxQ::TxDetails::TxDetails ( FeeLevel64  feeLevel_,
std::optional< LedgerIndex > const &  lastValid_,
TxConsequences const &  consequences_,
AccountID const &  account_,
SeqProxy  seqProxy_,
std::shared_ptr< STTx const > const &  txn_,
int  retriesRemaining_,
TER  preflightResult_,
std::optional< TER lastResult_ 
)

Full initialization.

Definition at line 194 of file TxQ.h.

Member Data Documentation

◆ feeLevel

FeeLevel64 ripple::TxQ::TxDetails::feeLevel

Fee level of the queued transaction.

Definition at line 217 of file TxQ.h.

◆ lastValid

std::optional<LedgerIndex> ripple::TxQ::TxDetails::lastValid

LastValidLedger field of the queued transaction, if any.

Definition at line 219 of file TxQ.h.

◆ consequences

TxConsequences ripple::TxQ::TxDetails::consequences

Potential TxConsequences of applying the queued transaction to the open ledger.

Definition at line 223 of file TxQ.h.

◆ account

AccountID ripple::TxQ::TxDetails::account

The account the transaction is queued for.

Definition at line 225 of file TxQ.h.

◆ seqProxy

SeqProxy ripple::TxQ::TxDetails::seqProxy

SeqProxy of the transaction.

Definition at line 227 of file TxQ.h.

◆ txn

std::shared_ptr<STTx const> ripple::TxQ::TxDetails::txn

The full transaction.

Definition at line 229 of file TxQ.h.

◆ retriesRemaining

int ripple::TxQ::TxDetails::retriesRemaining

Number of times the transactor can return a retry / ter result when attempting to apply this transaction to the open ledger from the queue.

If the transactor returns ter and no retries are left, this transaction will be dropped.

Definition at line 235 of file TxQ.h.

◆ preflightResult

TER ripple::TxQ::TxDetails::preflightResult

The intermediate result returned by preflight before this transaction was queued, or after it is queued, but before a failed attempt to apply it to the open ledger.

This will usually be tesSUCCESS, but there are some edge cases where it has another value. Those edge cases are interesting enough that this value is made available here. Specifically, if the rules change between attempts, preflight will be run again in TxQ::MaybeTx::apply.

Definition at line 245 of file TxQ.h.

◆ lastResult

std::optional<TER> ripple::TxQ::TxDetails::lastResult

If the transactor attempted to apply the transaction to the open ledger from the queue and failed, then this is the transactor result from the last attempt.

Should never be a tec, tef, tem, or tesSUCCESS, because those results cause the transaction to be removed from the queue.

Definition at line 252 of file TxQ.h.