txorphanage: Extract HaveOrphanTx

Extract some common code into HaveOrphanTx function.
This commit is contained in:
Anthony Towns committed 2021-02-26 23:55:10 +10:00
1 parent ee135c8d5b
commit 83679ffc60
3 files changed
+12 -8

No files matched your search

+1 -8
View File
@@ -1509,14 +1509,7 @@ bool PeerManagerImpl::AlreadyHaveTx(const GenTxid& gtxid)
const uint256& hash = gtxid.GetHash();
{
LOCK(g_cs_orphans);
if (!gtxid.IsWtxid() && mapOrphanTransactions.count(hash)) {
return true;
} else if (gtxid.IsWtxid() && g_orphans_by_wtxid.count(hash)) {
return true;
}
}
if (HaveOrphanTx(gtxid)) return true;
{
LOCK(m_recent_confirmed_transactions_mutex);
+10
View File
@@ -119,3 +119,13 @@ void AddChildrenToWorkSet(const CTransaction& tx, std::set<uint256>& orphan_work
}
}
bool HaveOrphanTx(const GenTxid& gtxid)
{
LOCK(g_cs_orphans);
if (gtxid.IsWtxid()) {
return g_orphans_by_wtxid.count(gtxid.GetHash());
} else {
return mapOrphanTransactions.count(gtxid.GetHash());
}
}
+1
View File
@@ -27,6 +27,7 @@ int EraseOrphanTx(const uint256& txid) EXCLUSIVE_LOCKS_REQUIRED(g_cs_orphans);
void EraseOrphansFor(NodeId peer) EXCLUSIVE_LOCKS_REQUIRED(g_cs_orphans);
unsigned int LimitOrphanTxSize(unsigned int nMaxOrphans) EXCLUSIVE_LOCKS_REQUIRED(g_cs_orphans);
void AddChildrenToWorkSet(const CTransaction& tx, std::set<uint256>& orphan_work_set) EXCLUSIVE_LOCKS_REQUIRED(g_cs_orphans);
bool HaveOrphanTx(const GenTxid& gtxid) EXCLUSIVE_LOCKS_REQUIRED(!g_cs_orphans);
/** Map from txid to orphan transaction record. Limited by
* -maxorphantx/DEFAULT_MAX_ORPHAN_TRANSACTIONS */