txmempool: Remove unused default value MemPoolRemovalReason::UNKNOWN
This commit is contained in:
parent
51a6e2c419
commit
0000ff0aa7
4 changed files with 17 additions and 16 deletions
|
@ -85,7 +85,7 @@ BOOST_AUTO_TEST_CASE(SimpleRoundTripTest)
|
||||||
BOOST_CHECK_EQUAL(pool.mapTx.find(block.vtx[2]->GetHash())->GetSharedTx().use_count(), SHARED_TX_OFFSET + 1);
|
BOOST_CHECK_EQUAL(pool.mapTx.find(block.vtx[2]->GetHash())->GetSharedTx().use_count(), SHARED_TX_OFFSET + 1);
|
||||||
|
|
||||||
size_t poolSize = pool.size();
|
size_t poolSize = pool.size();
|
||||||
pool.removeRecursive(*block.vtx[2]);
|
pool.removeRecursive(*block.vtx[2], MemPoolRemovalReason::REPLACED);
|
||||||
BOOST_CHECK_EQUAL(pool.size(), poolSize - 1);
|
BOOST_CHECK_EQUAL(pool.size(), poolSize - 1);
|
||||||
|
|
||||||
CBlock block2;
|
CBlock block2;
|
||||||
|
|
|
@ -14,6 +14,8 @@
|
||||||
|
|
||||||
BOOST_FIXTURE_TEST_SUITE(mempool_tests, TestingSetup)
|
BOOST_FIXTURE_TEST_SUITE(mempool_tests, TestingSetup)
|
||||||
|
|
||||||
|
static constexpr auto REMOVAL_REASON_DUMMY = MemPoolRemovalReason::REPLACED;
|
||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(MempoolRemoveTest)
|
BOOST_AUTO_TEST_CASE(MempoolRemoveTest)
|
||||||
{
|
{
|
||||||
// Test CTxMemPool::remove functionality
|
// Test CTxMemPool::remove functionality
|
||||||
|
@ -59,13 +61,13 @@ BOOST_AUTO_TEST_CASE(MempoolRemoveTest)
|
||||||
|
|
||||||
// Nothing in pool, remove should do nothing:
|
// Nothing in pool, remove should do nothing:
|
||||||
unsigned int poolSize = testPool.size();
|
unsigned int poolSize = testPool.size();
|
||||||
testPool.removeRecursive(CTransaction(txParent));
|
testPool.removeRecursive(CTransaction(txParent), REMOVAL_REASON_DUMMY);
|
||||||
BOOST_CHECK_EQUAL(testPool.size(), poolSize);
|
BOOST_CHECK_EQUAL(testPool.size(), poolSize);
|
||||||
|
|
||||||
// Just the parent:
|
// Just the parent:
|
||||||
testPool.addUnchecked(entry.FromTx(txParent));
|
testPool.addUnchecked(entry.FromTx(txParent));
|
||||||
poolSize = testPool.size();
|
poolSize = testPool.size();
|
||||||
testPool.removeRecursive(CTransaction(txParent));
|
testPool.removeRecursive(CTransaction(txParent), REMOVAL_REASON_DUMMY);
|
||||||
BOOST_CHECK_EQUAL(testPool.size(), poolSize - 1);
|
BOOST_CHECK_EQUAL(testPool.size(), poolSize - 1);
|
||||||
|
|
||||||
// Parent, children, grandchildren:
|
// Parent, children, grandchildren:
|
||||||
|
@ -77,18 +79,18 @@ BOOST_AUTO_TEST_CASE(MempoolRemoveTest)
|
||||||
}
|
}
|
||||||
// Remove Child[0], GrandChild[0] should be removed:
|
// Remove Child[0], GrandChild[0] should be removed:
|
||||||
poolSize = testPool.size();
|
poolSize = testPool.size();
|
||||||
testPool.removeRecursive(CTransaction(txChild[0]));
|
testPool.removeRecursive(CTransaction(txChild[0]), REMOVAL_REASON_DUMMY);
|
||||||
BOOST_CHECK_EQUAL(testPool.size(), poolSize - 2);
|
BOOST_CHECK_EQUAL(testPool.size(), poolSize - 2);
|
||||||
// ... make sure grandchild and child are gone:
|
// ... make sure grandchild and child are gone:
|
||||||
poolSize = testPool.size();
|
poolSize = testPool.size();
|
||||||
testPool.removeRecursive(CTransaction(txGrandChild[0]));
|
testPool.removeRecursive(CTransaction(txGrandChild[0]), REMOVAL_REASON_DUMMY);
|
||||||
BOOST_CHECK_EQUAL(testPool.size(), poolSize);
|
BOOST_CHECK_EQUAL(testPool.size(), poolSize);
|
||||||
poolSize = testPool.size();
|
poolSize = testPool.size();
|
||||||
testPool.removeRecursive(CTransaction(txChild[0]));
|
testPool.removeRecursive(CTransaction(txChild[0]), REMOVAL_REASON_DUMMY);
|
||||||
BOOST_CHECK_EQUAL(testPool.size(), poolSize);
|
BOOST_CHECK_EQUAL(testPool.size(), poolSize);
|
||||||
// Remove parent, all children/grandchildren should go:
|
// Remove parent, all children/grandchildren should go:
|
||||||
poolSize = testPool.size();
|
poolSize = testPool.size();
|
||||||
testPool.removeRecursive(CTransaction(txParent));
|
testPool.removeRecursive(CTransaction(txParent), REMOVAL_REASON_DUMMY);
|
||||||
BOOST_CHECK_EQUAL(testPool.size(), poolSize - 5);
|
BOOST_CHECK_EQUAL(testPool.size(), poolSize - 5);
|
||||||
BOOST_CHECK_EQUAL(testPool.size(), 0U);
|
BOOST_CHECK_EQUAL(testPool.size(), 0U);
|
||||||
|
|
||||||
|
@ -101,7 +103,7 @@ BOOST_AUTO_TEST_CASE(MempoolRemoveTest)
|
||||||
// Now remove the parent, as might happen if a block-re-org occurs but the parent cannot be
|
// Now remove the parent, as might happen if a block-re-org occurs but the parent cannot be
|
||||||
// put into the mempool (maybe because it is non-standard):
|
// put into the mempool (maybe because it is non-standard):
|
||||||
poolSize = testPool.size();
|
poolSize = testPool.size();
|
||||||
testPool.removeRecursive(CTransaction(txParent));
|
testPool.removeRecursive(CTransaction(txParent), REMOVAL_REASON_DUMMY);
|
||||||
BOOST_CHECK_EQUAL(testPool.size(), poolSize - 6);
|
BOOST_CHECK_EQUAL(testPool.size(), poolSize - 6);
|
||||||
BOOST_CHECK_EQUAL(testPool.size(), 0U);
|
BOOST_CHECK_EQUAL(testPool.size(), 0U);
|
||||||
}
|
}
|
||||||
|
@ -283,11 +285,11 @@ BOOST_AUTO_TEST_CASE(MempoolIndexingTest)
|
||||||
BOOST_CHECK_EQUAL(pool.size(), 10U);
|
BOOST_CHECK_EQUAL(pool.size(), 10U);
|
||||||
|
|
||||||
// Now try removing tx10 and verify the sort order returns to normal
|
// Now try removing tx10 and verify the sort order returns to normal
|
||||||
pool.removeRecursive(pool.mapTx.find(tx10.GetHash())->GetTx());
|
pool.removeRecursive(pool.mapTx.find(tx10.GetHash())->GetTx(), REMOVAL_REASON_DUMMY);
|
||||||
CheckSort<descendant_score>(pool, snapshotOrder);
|
CheckSort<descendant_score>(pool, snapshotOrder);
|
||||||
|
|
||||||
pool.removeRecursive(pool.mapTx.find(tx9.GetHash())->GetTx());
|
pool.removeRecursive(pool.mapTx.find(tx9.GetHash())->GetTx(), REMOVAL_REASON_DUMMY);
|
||||||
pool.removeRecursive(pool.mapTx.find(tx8.GetHash())->GetTx());
|
pool.removeRecursive(pool.mapTx.find(tx8.GetHash())->GetTx(), REMOVAL_REASON_DUMMY);
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(MempoolAncestorIndexingTest)
|
BOOST_AUTO_TEST_CASE(MempoolAncestorIndexingTest)
|
||||||
|
|
|
@ -158,7 +158,7 @@ static void TestPackageSelection(const CChainParams& chainparams, const CScript&
|
||||||
// Test that packages above the min relay fee do get included, even if one
|
// Test that packages above the min relay fee do get included, even if one
|
||||||
// of the transactions is below the min relay fee
|
// of the transactions is below the min relay fee
|
||||||
// Remove the low fee transaction and replace with a higher fee transaction
|
// Remove the low fee transaction and replace with a higher fee transaction
|
||||||
mempool.removeRecursive(CTransaction(tx));
|
mempool.removeRecursive(CTransaction(tx), MemPoolRemovalReason::REPLACED);
|
||||||
tx.vout[0].nValue -= 2; // Now we should be just over the min relay fee
|
tx.vout[0].nValue -= 2; // Now we should be just over the min relay fee
|
||||||
hashLowFeeTx = tx.GetHash();
|
hashLowFeeTx = tx.GetHash();
|
||||||
mempool.addUnchecked(entry.Fee(feeToUse+2).FromTx(tx));
|
mempool.addUnchecked(entry.Fee(feeToUse+2).FromTx(tx));
|
||||||
|
|
|
@ -345,7 +345,6 @@ struct TxMempoolInfo
|
||||||
* this is passed to the notification signal.
|
* this is passed to the notification signal.
|
||||||
*/
|
*/
|
||||||
enum class MemPoolRemovalReason {
|
enum class MemPoolRemovalReason {
|
||||||
UNKNOWN = 0, //!< Manually removed or unknown reason
|
|
||||||
EXPIRY, //!< Expired from mempool
|
EXPIRY, //!< Expired from mempool
|
||||||
SIZELIMIT, //!< Removed in size limiting
|
SIZELIMIT, //!< Removed in size limiting
|
||||||
REORG, //!< Removed for reorganization
|
REORG, //!< Removed for reorganization
|
||||||
|
@ -574,7 +573,7 @@ public:
|
||||||
void addUnchecked(const CTxMemPoolEntry& entry, bool validFeeEstimate = true) EXCLUSIVE_LOCKS_REQUIRED(cs, cs_main);
|
void addUnchecked(const CTxMemPoolEntry& entry, bool validFeeEstimate = true) EXCLUSIVE_LOCKS_REQUIRED(cs, cs_main);
|
||||||
void addUnchecked(const CTxMemPoolEntry& entry, setEntries& setAncestors, bool validFeeEstimate = true) EXCLUSIVE_LOCKS_REQUIRED(cs, cs_main);
|
void addUnchecked(const CTxMemPoolEntry& entry, setEntries& setAncestors, bool validFeeEstimate = true) EXCLUSIVE_LOCKS_REQUIRED(cs, cs_main);
|
||||||
|
|
||||||
void removeRecursive(const CTransaction& tx, MemPoolRemovalReason reason = MemPoolRemovalReason::UNKNOWN) EXCLUSIVE_LOCKS_REQUIRED(cs);
|
void removeRecursive(const CTransaction& tx, MemPoolRemovalReason reason) EXCLUSIVE_LOCKS_REQUIRED(cs);
|
||||||
void removeForReorg(const CCoinsViewCache* pcoins, unsigned int nMemPoolHeight, int flags) EXCLUSIVE_LOCKS_REQUIRED(cs, cs_main);
|
void removeForReorg(const CCoinsViewCache* pcoins, unsigned int nMemPoolHeight, int flags) EXCLUSIVE_LOCKS_REQUIRED(cs, cs_main);
|
||||||
void removeConflicts(const CTransaction& tx) EXCLUSIVE_LOCKS_REQUIRED(cs);
|
void removeConflicts(const CTransaction& tx) EXCLUSIVE_LOCKS_REQUIRED(cs);
|
||||||
void removeForBlock(const std::vector<CTransactionRef>& vtx, unsigned int nBlockHeight) EXCLUSIVE_LOCKS_REQUIRED(cs);
|
void removeForBlock(const std::vector<CTransactionRef>& vtx, unsigned int nBlockHeight) EXCLUSIVE_LOCKS_REQUIRED(cs);
|
||||||
|
@ -613,7 +612,7 @@ public:
|
||||||
* Set updateDescendants to true when removing a tx that was in a block, so
|
* Set updateDescendants to true when removing a tx that was in a block, so
|
||||||
* that any in-mempool descendants have their ancestor state updated.
|
* that any in-mempool descendants have their ancestor state updated.
|
||||||
*/
|
*/
|
||||||
void RemoveStaged(setEntries &stage, bool updateDescendants, MemPoolRemovalReason reason = MemPoolRemovalReason::UNKNOWN) EXCLUSIVE_LOCKS_REQUIRED(cs);
|
void RemoveStaged(setEntries& stage, bool updateDescendants, MemPoolRemovalReason reason) EXCLUSIVE_LOCKS_REQUIRED(cs);
|
||||||
|
|
||||||
/** When adding transactions from a disconnected block back to the mempool,
|
/** When adding transactions from a disconnected block back to the mempool,
|
||||||
* new mempool entries may have children in the mempool (which is generally
|
* new mempool entries may have children in the mempool (which is generally
|
||||||
|
@ -735,7 +734,7 @@ private:
|
||||||
* transactions in a chain before we've updated all the state for the
|
* transactions in a chain before we've updated all the state for the
|
||||||
* removal.
|
* removal.
|
||||||
*/
|
*/
|
||||||
void removeUnchecked(txiter entry, MemPoolRemovalReason reason = MemPoolRemovalReason::UNKNOWN) EXCLUSIVE_LOCKS_REQUIRED(cs);
|
void removeUnchecked(txiter entry, MemPoolRemovalReason reason) EXCLUSIVE_LOCKS_REQUIRED(cs);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Add table
Reference in a new issue