14namespace final_chain {
 
   41  TransactionStatus insert(std::shared_ptr<Transaction>&& transaction, 
bool proposable, uint64_t last_block_number = 0);
 
   58  std::shared_ptr<Transaction> 
get(
const trx_hash_t& hash) 
const;
 
  167  std::unordered_map<taraxa::trx_hash_t, std::pair<uint64_t, taraxa::SharedTransaction>>::iterator 
removeTransaction(
 
  168      std::unordered_map<
taraxa::trx_hash_t, std::pair<uint64_t, taraxa::SharedTransaction>>::iterator transaction);
 
 
std::chrono::system_clock::time_point transaction_overflow_time_
Definition transaction_queue.hpp:186
 
void purge()
Removes any transactions that are no longer proposable.
Definition transaction_queue.cpp:239
 
TransactionStatus insert(std::shared_ptr< Transaction > &&transaction, bool proposable, uint64_t last_block_number=0)
insert a transaction into the queue, sorted by priority
Definition transaction_queue.cpp:152
 
val_t getMinGasPriceForBlockInclusion(uint64_t limit) const
Returns minimum gas price needed for transaction to be included in the next proposed dag block.
Definition transaction_queue.cpp:271
 
void addTransaction(const SharedTransaction &transaction, bool proposable, uint64_t last_block_number=0)
add transaction to queue
Definition transaction_queue.cpp:19
 
std::unordered_map< trx_hash_t, std::pair< uint64_t, std::shared_ptr< Transaction > > > non_proposable_transactions_
Definition transaction_queue.hpp:181
 
ExpirationCache< trx_hash_t > known_txs_
Definition transaction_queue.hpp:183
 
bool nonProposableTransactionsOverTheLimit() const
return true if non proposable transactions are over the limit
Definition transaction_queue.cpp:263
 
bool contains(const trx_hash_t &hash) const
returns true/false if the transaction is in the queue
Definition transaction_queue.cpp:62
 
bool erase(const SharedTransaction &transaction)
remove transaction from queue
Definition transaction_queue.cpp:132
 
const size_t kNonProposableTransactionsPeriodExpiryLimit
Definition transaction_queue.hpp:196
 
const size_t kMaxSize
Definition transaction_queue.hpp:208
 
std::map< val_t, uint64_t, std::greater< val_t > > queue_transactions_gas_prices_
Definition transaction_queue.hpp:177
 
std::vector< std::shared_ptr< Transaction > > getOrderedTransactions(uint64_t count) const
returns up to the number of requested transaction sorted by priority. This call actually sorts the tr...
Definition transaction_queue.cpp:79
 
std::shared_ptr< final_chain::FinalChain > final_chain_
Definition transaction_queue.hpp:216
 
bool isTransactionKnown(const trx_hash_t &trx_hash) const
Definition transaction_queue.cpp:269
 
const size_t kSingleAccountTransactionsLimitPercentage
Definition transaction_queue.hpp:202
 
std::vector< SharedTransactions > getAllTransactions() const
returns all transactions grouped by transactions author
Definition transaction_queue.cpp:118
 
void blockFinalized(uint64_t block_number)
Invoked when block finalized in final chain.
Definition transaction_queue.cpp:228
 
const std::chrono::seconds kTransactionOverflowTimeLimit
Definition transaction_queue.hpp:193
 
bool transactionsDropped() const
Have transactions been recently dropped due to queue reaching max size This call is thread-safe.
Definition transaction_queue.hpp:125
 
bool removeTransaction(const SharedTransaction &transaction, bool proposable)
remove transaction from queue
Definition transaction_queue.cpp:35
 
size_t size() const
returns size of priority queue
Definition transaction_queue.cpp:17
 
size_t data_size_
Definition transaction_queue.hpp:189
 
const size_t kMaxDataSize
Definition transaction_queue.hpp:211
 
const size_t kMaxSingleAccountTransactionsSize
Definition transaction_queue.hpp:214
 
std::unordered_map< addr_t, std::map< val_t, std::shared_ptr< Transaction > > > account_nonce_transactions_
Definition transaction_queue.hpp:171
 
const size_t kNonProposableTransactionsLimitPercentage
Definition transaction_queue.hpp:199
 
std::shared_ptr< Transaction > get(const trx_hash_t &hash) const
returns the transaction or null
Definition transaction_queue.cpp:66
 
void markTransactionKnown(const trx_hash_t &trx_hash)
Marks transaction as known (was successfully pushed into the tx pool) This call is thread-safe.
Definition transaction_queue.cpp:267
 
const size_t kNonProposableTransactionsMaxSize
Definition transaction_queue.hpp:205
 
std::unordered_map< trx_hash_t, std::shared_ptr< Transaction > > queue_transactions_
Definition transaction_queue.hpp:174
 
TransactionQueue keeps transactions in memory sorted by priority to be included in a proposed DAG blo...
Definition transaction_queue.hpp:30
 
TransactionStatus
TransactionStatus enum class defines current transaction status.
Definition transaction_manager.hpp:23
 
std::shared_ptr< Transaction > SharedTransaction
Definition transaction.hpp:84
 
constexpr uint32_t kMinTransactionPoolSize
Definition constants.hpp:30
 
dev::u256 val_t
Definition types.hpp:47