Avoid unnecessary database access for unknown transactions
This commit is contained in:
parent
514993554c
commit
c6cb6f7d4c
1 changed files with 3 additions and 1 deletions
|
@ -4344,10 +4344,12 @@ bool static AlreadyHave(const CInv& inv) EXCLUSIVE_LOCKS_REQUIRED(cs_main)
|
||||||
recentRejects->reset();
|
recentRejects->reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Use pcoinsTip->HaveCoinsInCache as a quick approximation to exclude
|
||||||
|
// requesting or processing some txs which have already been included in a block
|
||||||
return recentRejects->contains(inv.hash) ||
|
return recentRejects->contains(inv.hash) ||
|
||||||
mempool.exists(inv.hash) ||
|
mempool.exists(inv.hash) ||
|
||||||
mapOrphanTransactions.count(inv.hash) ||
|
mapOrphanTransactions.count(inv.hash) ||
|
||||||
pcoinsTip->HaveCoins(inv.hash);
|
pcoinsTip->HaveCoinsInCache(inv.hash);
|
||||||
}
|
}
|
||||||
case MSG_BLOCK:
|
case MSG_BLOCK:
|
||||||
return mapBlockIndex.count(inv.hash);
|
return mapBlockIndex.count(inv.hash);
|
||||||
|
|
Loading…
Reference in a new issue