rippled
Public Types | Public Member Functions | Public Attributes | List of all members
ripple::TxQ::TxQAccount Class Reference

Used to represent an account to the queue, and stores the transactions queued for that account by SeqProxy. More...

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

Public Types

using TxMap = std::map< SeqProxy, MaybeTx >
 

Public Member Functions

 TxQAccount (std::shared_ptr< STTx const > const &txn)
 Construct from a transaction. More...
 
 TxQAccount (const AccountID &account)
 Construct from an account. More...
 
std::size_t getTxnCount () const
 Return the number of transactions currently queued for this account. More...
 
bool empty () const
 Checks if this account has no transactions queued. More...
 
TxMap::const_iterator getPrevTx (SeqProxy seqProx) const
 Find the entry in transactions that precedes seqProx, if one does. More...
 
MaybeTxadd (MaybeTx &&)
 Add a transaction candidate to this account for queuing. More...
 
bool remove (SeqProxy seqProx)
 Remove the candidate with given SeqProxy value from this account. More...
 

Public Attributes

const AccountID account
 The account. More...
 
TxMap transactions
 Sequence number will be used as the key. More...
 
bool retryPenalty = false
 
bool dropPenalty = false
 

Detailed Description

Used to represent an account to the queue, and stores the transactions queued for that account by SeqProxy.

Definition at line 662 of file TxQ.h.

Member Typedef Documentation

◆ TxMap

Definition at line 665 of file TxQ.h.

Constructor & Destructor Documentation

◆ TxQAccount() [1/2]

ripple::TxQ::TxQAccount::TxQAccount ( std::shared_ptr< STTx const > const &  txn)
explicit

Construct from a transaction.

Definition at line 313 of file TxQ.cpp.

◆ TxQAccount() [2/2]

ripple::TxQ::TxQAccount::TxQAccount ( const AccountID account)
explicit

Construct from an account.

Definition at line 318 of file TxQ.cpp.

Member Function Documentation

◆ getTxnCount()

std::size_t ripple::TxQ::TxQAccount::getTxnCount ( ) const

Return the number of transactions currently queued for this account.

Definition at line 694 of file TxQ.h.

◆ empty()

bool ripple::TxQ::TxQAccount::empty ( ) const

Checks if this account has no transactions queued.

Definition at line 701 of file TxQ.h.

◆ getPrevTx()

TxQ::TxQAccount::TxMap::const_iterator ripple::TxQ::TxQAccount::getPrevTx ( SeqProxy  seqProx) const

Find the entry in transactions that precedes seqProx, if one does.

Definition at line 323 of file TxQ.cpp.

◆ add()

TxQ::MaybeTx & ripple::TxQ::TxQAccount::add ( MaybeTx &&  txn)

Add a transaction candidate to this account for queuing.

Definition at line 334 of file TxQ.cpp.

◆ remove()

bool ripple::TxQ::TxQAccount::remove ( SeqProxy  seqProx)

Remove the candidate with given SeqProxy value from this account.

Returns
Whether a candidate was removed

Definition at line 346 of file TxQ.cpp.

Member Data Documentation

◆ account

const AccountID ripple::TxQ::TxQAccount::account

The account.

Definition at line 668 of file TxQ.h.

◆ transactions

TxMap ripple::TxQ::TxQAccount::transactions

Sequence number will be used as the key.

Definition at line 670 of file TxQ.h.

◆ retryPenalty

bool ripple::TxQ::TxQAccount::retryPenalty = false

Definition at line 678 of file TxQ.h.

◆ dropPenalty

bool ripple::TxQ::TxQAccount::dropPenalty = false

Definition at line 684 of file TxQ.h.