aboutsummaryrefslogtreecommitdiff
path: root/src/txorphanage.cpp
AgeCommit message (Collapse)Author
2022-07-28refactor: log `nEvicted` message in `LimitOrphans` then return voidchinggg
`LimitOrphans()` can log expired tx and it should log evicted tx as well instead of returning the number for caller to print the message. Since `LimitOrphans()` now return void, the redundant assertion check in fuzz test is also removed.
2021-02-27scripted-diff: Update txorphanage naming conventionAnthony Towns
-BEGIN VERIFY SCRIPT- sed -i 's/mapOrphanTransactionsByPrev/m_outpoint_to_orphan_it/g' src/txorphanage.h src/txorphanage.cpp sed -i 's/mapOrphanTransactions/m_orphans/g' src/txorphanage.h src/txorphanage.cpp src/net_processing.cpp src/test/denialofservice_tests.cpp sed -i 's/g_orphan_list/m_orphan_list/g' src/txorphanage.h src/txorphanage.cpp sed -i 's/g_orphans_by_wtxid/m_wtxid_to_orphan_it/g' src/txorphanage.h src/txorphanage.cpp sed -i 's/nMaxOrphans/max_orphans/g' src/txorphanage.h src/txorphanage.cpp sed -i 's/COrphanTx/OrphanTx/g' src/txorphanage.h src/txorphanage.cpp src/test/denialofservice_tests.cpp -END VERIFY SCRIPT-
2021-02-27txorphanage: Move functions and data into classAnthony Towns
Collects all the orphan handling globals into a single member var in net_processing, and ensures access is encapuslated into the interface functions. Also adds doxygen comments for methods.
2021-02-27txorphanage: Extract EraseOrphansForBlockAnthony Towns
Extract code that erases orphans when a new block is found into EraseOrphansForBlock.
2021-02-26txorphanage: Extract OrphanageAddTxAnthony Towns
Extract code from AddOrphanTx into OrphanageAddTx.
2021-02-26txorphanage: Extract GetOrphanTxAnthony Towns
Extract orphan lookup code into GetOrphanTx function.
2021-02-26txorphanage: Extract HaveOrphanTxAnthony Towns
Extract some common code into HaveOrphanTx function.
2021-02-26txorphanage: Extract AddChildrenToWorkSetAnthony Towns
Extract some common code into AddChildrenToWorkSet function. (It's a hard knock life)
2021-02-26txorphanage: Add lock annotationsAnthony Towns
EraseOrphansFor was called both with and without g_cs_orphans held, correct that so that it's always called with it already held. LimitOrphanTxSize was always called with g_cs_orphans held, so add annotations and don't lock it a second time.
2021-02-26txorphanage: Pass uint256 by reference instead of valueAnthony Towns
2021-02-26move-only: Add txorphanage moduleAnthony Towns
This module captures orphan tracking code for tx relay. Can be reviewed with --color-moved=dimmed-zebra