diff options
author | Alex Morcos <morcos@chaincode.com> | 2016-04-13 16:02:46 -0400 |
---|---|---|
committer | Alex Morcos <morcos@chaincode.com> | 2016-04-13 16:02:46 -0400 |
commit | c6cb6f7d4c4bbfe96256c66b3aef4e7e3ff6285f (patch) | |
tree | 01ca2793917c3fe9caa450d78702b192da28679b | |
parent | 514993554c370f4cf30a109ac28d5d64893dbf0a (diff) |
Avoid unnecessary database access for unknown transactions
-rw-r--r-- | src/main.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/main.cpp b/src/main.cpp index 9b164c7999..f5baf35595 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4344,10 +4344,12 @@ bool static AlreadyHave(const CInv& inv) EXCLUSIVE_LOCKS_REQUIRED(cs_main) 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) || mempool.exists(inv.hash) || mapOrphanTransactions.count(inv.hash) || - pcoinsTip->HaveCoins(inv.hash); + pcoinsTip->HaveCoinsInCache(inv.hash); } case MSG_BLOCK: return mapBlockIndex.count(inv.hash); |