![]() |
Bitcoin ABC 0.32.4
P2P Digital Currency
|
#include <txconflicting.h>
Public Member Functions | |
| TxConflicting () | |
Public Member Functions inherited from TxPool | |
| TxPool (const std::string &txKindIn, std::chrono::seconds expireTimeIn, std::chrono::seconds expireIntervalIn) | |
| bool | AddTx (const CTransactionRef &tx, NodeId peer) EXCLUSIVE_LOCKS_REQUIRED(!m_mutex) |
| Add a new transaction to the pool. More... | |
| bool | HaveTx (const TxId &txid) const EXCLUSIVE_LOCKS_REQUIRED(!m_mutex) |
| Check if we already have an the transaction. More... | |
| CTransactionRef | GetTx (const TxId &txid) const EXCLUSIVE_LOCKS_REQUIRED(!m_mutex) |
| std::vector< CTransactionRef > | GetConflictTxs (const CTransactionRef &tx) const EXCLUSIVE_LOCKS_REQUIRED(!m_mutex) |
| CTransactionRef | GetTxToReconsider (NodeId peer) EXCLUSIVE_LOCKS_REQUIRED(!m_mutex) |
| Extract a transaction from a peer's work set. More... | |
| int | EraseTx (const TxId &txid) EXCLUSIVE_LOCKS_REQUIRED(!m_mutex) |
| Erase a tx by txid. More... | |
| void | EraseForPeer (NodeId peer) EXCLUSIVE_LOCKS_REQUIRED(!m_mutex) |
| Erase all txs announced by a peer (eg, after that peer disconnects) More... | |
| void | EraseForBlock (const CBlock &block) EXCLUSIVE_LOCKS_REQUIRED(!m_mutex) |
| Erase all txs included in or invalidated by a new block. More... | |
| unsigned int | LimitTxs (unsigned int max_txs, FastRandomContext &rng) EXCLUSIVE_LOCKS_REQUIRED(!m_mutex) |
| Limit the txs to the given maximum. More... | |
| void | AddChildrenToWorkSet (const CTransaction &tx) EXCLUSIVE_LOCKS_REQUIRED(!m_mutex) |
| Add any tx that list a particular tx as a parent into the from peer's work set. More... | |
| bool | HaveTxToReconsider (NodeId peer) EXCLUSIVE_LOCKS_REQUIRED(!m_mutex) |
| Does this peer have any work to do? More... | |
| std::vector< CTransactionRef > | GetChildrenFromSamePeer (const CTransactionRef &parent, NodeId nodeid) const EXCLUSIVE_LOCKS_REQUIRED(!m_mutex) |
| Get all children that spend from this tx and were received from nodeid. More... | |
| std::vector< std::pair< CTransactionRef, NodeId > > | GetChildrenFromDifferentPeer (const CTransactionRef &parent, NodeId nodeid) const EXCLUSIVE_LOCKS_REQUIRED(!m_mutex) |
| Get all children that spend from this tx but were not received from nodeid. More... | |
| size_t | Size () const EXCLUSIVE_LOCKS_REQUIRED(!m_mutex) |
| Return how many entries exist in the pool. More... | |
Additional Inherited Members | |
Protected Types inherited from TxPool | |
| using | PoolTxMap = decltype(m_pool_txs) |
Protected Member Functions inherited from TxPool | |
| std::map< TxId, PoolTx > m_pool_txs | GUARDED_BY (m_mutex) |
| Map from txid to pool transaction record. More... | |
| std::map< NodeId, std::set< TxId > > m_peer_work_set | GUARDED_BY (m_mutex) |
| Which peer provided the transactions that need to be reconsidered. More... | |
| std::map< COutPoint, std::set< PoolTxMap ::iterator, IteratorComparator > > m_outpoint_to_tx_it | GUARDED_BY (m_mutex) |
| Index from the parents' COutPoint into the m_pool_txs. More... | |
| std::vector< PoolTxMap::iterator > m_txs_list | GUARDED_BY (m_mutex) |
| Pool transactions in vector for quick random eviction. More... | |
| int | EraseTxNoLock (const TxId &txid) EXCLUSIVE_LOCKS_REQUIRED(m_mutex) |
| Erase a transaction by txid. More... | |
| NodeSeconds m_next_sweep | GUARDED_BY (m_mutex) |
| Timestamp for the next scheduled sweep of expired transactions. More... | |
Protected Attributes inherited from TxPool | |
| const std::string | txKind |
| The transaction kind as string, used for logging. More... | |
| const std::chrono::seconds | expireTime |
| Expiration time for transactions. More... | |
| const std::chrono::seconds | expireInterval |
| Minimum time between transactions expire time checks. More... | |
| Mutex | m_mutex |
| Guards transactions. More... | |
Definition at line 16 of file txconflicting.h.
|
inline |
Definition at line 18 of file txconflicting.h.