mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-12 11:19:08 -05:00
txorphanage: comment improvements
This commit is contained in:
parent
eeeafb324e
commit
5e50e2d1b9
1 changed files with 8 additions and 3 deletions
|
@ -13,7 +13,10 @@
|
||||||
/** Guards orphan transactions and extra txs for compact blocks */
|
/** Guards orphan transactions and extra txs for compact blocks */
|
||||||
extern RecursiveMutex g_cs_orphans;
|
extern RecursiveMutex g_cs_orphans;
|
||||||
|
|
||||||
/** Data structure to keep track of orphan transactions
|
/** A class to track orphan transactions (failed on TX_MISSING_INPUTS)
|
||||||
|
* Since we cannot distinguish orphans from bad transactions with
|
||||||
|
* non-existent inputs, we heavily limit the number of orphans
|
||||||
|
* we keep and the duration we keep them for.
|
||||||
*/
|
*/
|
||||||
class TxOrphanage {
|
class TxOrphanage {
|
||||||
public:
|
public:
|
||||||
|
@ -23,7 +26,9 @@ public:
|
||||||
/** Check if we already have an orphan transaction (by txid or wtxid) */
|
/** Check if we already have an orphan transaction (by txid or wtxid) */
|
||||||
bool HaveTx(const GenTxid& gtxid) const EXCLUSIVE_LOCKS_REQUIRED(!g_cs_orphans);
|
bool HaveTx(const GenTxid& gtxid) const EXCLUSIVE_LOCKS_REQUIRED(!g_cs_orphans);
|
||||||
|
|
||||||
/** Get the details of an orphan transaction (returns nullptr if not found) */
|
/** Get an orphan transaction and its orginating peer
|
||||||
|
* (Transaction ref will be nullptr if not found)
|
||||||
|
*/
|
||||||
std::pair<CTransactionRef, NodeId> GetTx(const uint256& txid) const EXCLUSIVE_LOCKS_REQUIRED(g_cs_orphans);
|
std::pair<CTransactionRef, NodeId> GetTx(const uint256& txid) const EXCLUSIVE_LOCKS_REQUIRED(g_cs_orphans);
|
||||||
|
|
||||||
/** Erase an orphan by txid */
|
/** Erase an orphan by txid */
|
||||||
|
@ -32,7 +37,7 @@ public:
|
||||||
/** Erase all orphans announced by a peer (eg, after that peer disconnects) */
|
/** Erase all orphans announced by a peer (eg, after that peer disconnects) */
|
||||||
void EraseForPeer(NodeId peer) EXCLUSIVE_LOCKS_REQUIRED(g_cs_orphans);
|
void EraseForPeer(NodeId peer) EXCLUSIVE_LOCKS_REQUIRED(g_cs_orphans);
|
||||||
|
|
||||||
/** Erase all orphans included in / invalidated by a new block */
|
/** Erase all orphans included in or invalidated by a new block */
|
||||||
void EraseForBlock(const CBlock& block) EXCLUSIVE_LOCKS_REQUIRED(!g_cs_orphans);
|
void EraseForBlock(const CBlock& block) EXCLUSIVE_LOCKS_REQUIRED(!g_cs_orphans);
|
||||||
|
|
||||||
/** Limit the orphanage to the given maximum */
|
/** Limit the orphanage to the given maximum */
|
||||||
|
|
Loading…
Add table
Reference in a new issue