mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-22 15:04:44 +01:00
txorphanage: Extract HaveOrphanTx
Extract some common code into HaveOrphanTx function.
This commit is contained in:
parent
ee135c8d5b
commit
83679ffc60
3 changed files with 12 additions and 8 deletions
|
@ -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);
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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 */
|
||||
|
|
Loading…
Add table
Reference in a new issue