Merge #7874: Improve AlreadyHave

c6cb6f7 Avoid unnecessary database access for unknown transactions (Alex Morcos)
This commit is contained in:
Wladimir J. van der Laan 2016-04-14 17:54:40 +02:00
commit e6a4d48a9b
No known key found for this signature in database
GPG Key ID: 74810B012346C9A6
1 changed files with 3 additions and 1 deletions

View File

@ -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);