Bitcoin
Classes | Enumerations | Variables
txmempool.h File Reference
#include <atomic>
#include <map>
#include <memory>
#include <set>
#include <string>
#include <utility>
#include <vector>
#include <amount.h>
#include <coins.h>
#include <crypto/siphash.h>
#include <indirectmap.h>
#include <policy/feerate.h>
#include <primitives/transaction.h>
#include <sync.h>
#include <random.h>
#include <boost/multi_index_container.hpp>
#include <boost/multi_index/hashed_index.hpp>
#include <boost/multi_index/ordered_index.hpp>
#include <boost/multi_index/sequenced_index.hpp>
#include <boost/signals2/signal.hpp>

Go to the source code of this file.

Classes

struct  LockPoints
 
class  CTxMemPoolEntry
 
struct  update_descendant_state
 
struct  update_ancestor_state
 
struct  update_fee_delta
 
struct  update_lock_points
 
struct  mempoolentry_txid
 
class  CompareTxMemPoolEntryByDescendantScore
 
class  CompareTxMemPoolEntryByScore
 
class  CompareTxMemPoolEntryByEntryTime
 
class  CompareTxMemPoolEntryByAncestorFee
 
struct  descendant_score
 
struct  entry_time
 
struct  ancestor_score
 
struct  TxMempoolInfo
 
class  SaltedTxidHasher
 
class  CTxMemPool
 
struct  CTxMemPool::CompareIteratorByHash
 
struct  CTxMemPool::TxLinks
 
class  CCoinsViewMemPool
 
struct  txid_index
 
struct  insertion_order
 
struct  DisconnectedBlockTransactions
 

Enumerations

enum  MemPoolRemovalReason {
  MemPoolRemovalReason::UNKNOWN = 0, MemPoolRemovalReason::EXPIRY, MemPoolRemovalReason::SIZELIMIT, MemPoolRemovalReason::REORG,
  MemPoolRemovalReason::BLOCK, MemPoolRemovalReason::CONFLICT, MemPoolRemovalReason::REPLACED
}
 

Variables

CCriticalSection cs_main
 
static const uint32_t MEMPOOL_HEIGHT = 0x7FFFFFFF
 

Enumeration Type Documentation

◆ MemPoolRemovalReason

enum MemPoolRemovalReason
strong

Reason why a transaction was removed from the mempool, this is passed to the notification signal.

Enumerator
UNKNOWN 

Manually removed or unknown reason.

EXPIRY 

Expired from mempool.

SIZELIMIT 

Removed in size limiting.

REORG 

Removed for reorganization.

BLOCK 

Removed for block.

CONFLICT 

Removed for conflict with in-block transaction.

REPLACED 

Removed for replacement.

Variable Documentation

◆ cs_main

Mutex to guard access to validation specific variables, such as reading or changing the chainstate.

This may also need to be locked when updating the transaction pool, e.g. on AcceptToMemoryPool. See CTxMemPool::cs comment for details.

The transaction pool has a separate lock to allow reading from it and the chainstate at the same time.

◆ MEMPOOL_HEIGHT

const uint32_t MEMPOOL_HEIGHT = 0x7FFFFFFF
static

Fake height value used in Coin to signify they are only in the memory pool (since 0.8)