Make removed and conflicted arguments optional to remove

This commit is contained in:
Pieter Wuille
2016-08-15 13:10:57 +02:00
parent f48211b700
commit 51f278329d
7 changed files with 31 additions and 35 deletions

View File

@@ -503,7 +503,7 @@ void CTxMemPool::CalculateDescendants(txiter entryit, setEntries &setDescendants
}
}
void CTxMemPool::removeRecursive(const CTransaction &origTx, std::list<CTransaction>& removed)
void CTxMemPool::removeRecursive(const CTransaction &origTx, std::list<CTransaction>* removed)
{
// Remove transaction from memory pool
{
@@ -530,8 +530,10 @@ void CTxMemPool::removeRecursive(const CTransaction &origTx, std::list<CTransact
BOOST_FOREACH(txiter it, txToRemove) {
CalculateDescendants(it, setAllRemoves);
}
BOOST_FOREACH(txiter it, setAllRemoves) {
removed.push_back(it->GetTx());
if (removed) {
BOOST_FOREACH(txiter it, setAllRemoves) {
removed->push_back(it->GetTx());
}
}
RemoveStaged(setAllRemoves, false);
}
@@ -574,7 +576,7 @@ void CTxMemPool::removeForReorg(const CCoinsViewCache *pcoins, unsigned int nMem
RemoveStaged(setAllRemoves, false);
}
void CTxMemPool::removeConflicts(const CTransaction &tx, std::list<CTransaction>& removed)
void CTxMemPool::removeConflicts(const CTransaction &tx, std::list<CTransaction>* removed)
{
// Remove transactions which depend on inputs of tx, recursively
LOCK(cs);
@@ -595,7 +597,7 @@ void CTxMemPool::removeConflicts(const CTransaction &tx, std::list<CTransaction>
* Called when a block is connected. Removes from mempool and updates the miner fee estimator.
*/
void CTxMemPool::removeForBlock(const std::vector<CTransaction>& vtx, unsigned int nBlockHeight,
std::list<CTransaction>& conflicts, bool fCurrentEstimate)
std::list<CTransaction>* conflicts, bool fCurrentEstimate)
{
LOCK(cs);
std::vector<CTxMemPoolEntry> entries;