c0642e558a[fuzz] fix latency score check in txorphan_protected (glozow)3d4d4f0d92scripted-diff: rename "ann" variables to "latency_score" (monlovesmango)3b92448923[doc] comment fixups for orphanage changes (glozow)1384dbaf6d[config] emit warning for -maxorphantx, but allow it to be set (glozow)b10c55b298fix up TxOrphanage lower_bound sanity checks (glozow)cfd71c6704scripted-diff: rename TxOrphanage outpoints index (glozow)edb97bb3f1[logging] add logs for inner loop of LimitOrphans (glozow)8a58d0e87dscripted-diff: rename OrphanTxBase to OrphanInfo (glozow)cc50f2f0df[cleanup] replace TxOrphanage::Size() with CountUniqueOrphans (glozow)ed24e01696[optimization] Maintain at most 1 reconsiderable announcement per wtxid (Pieter Wuille)af7402ccfa[refactor] make TxOrphanage keep itself trimmed (glozow)d1fac25ff3[doc] 31829 release note (glozow) Pull request description: Followup to #31829: - Release notes - Have the orphanage auto-trim itself whenever necessary (and test changes) https://github.com/bitcoin/bitcoin/pull/31829#discussion_r2169508690 - Reduce duplicate reconsiderations by keeping track of which txns are already reconsiderable so we only mark it for reconsideration for 1 peer at a time https://github.com/bitcoin/bitcoin/pull/31829#issuecomment-3001627814 - Rename `OrphanTxBase` to `OrphanInfo` - Get rid of `Size()` method by replacing all calls with `CountUniqueOrphans` - Rename outpoints index since they point to wtxids, not iterators https://github.com/bitcoin/bitcoin/pull/31829#discussion_r2205557613 - Add more logging in the `LimitOrphans` inner loop to make it easy to see which peers are being trimmed https://github.com/bitcoin/bitcoin/pull/31829#issuecomment-3074385460 ACKs for top commit: sipa: utACKc0642e558amarcofleon: Nice, ACKc0642e558aTree-SHA512: f298eae92cf906ed5e4f15a24eeffa7b9e620bcff457772cd77522dd9f0b3b183ffc976871b1b0e6fe93009e64877d518e53d4b9e186e0df58fc16d17f6de90a
src/node/
The src/node/ directory contains code that needs to access node state
(state in CChain, CBlockIndex, CCoinsView, CTxMemPool, and similar
classes).
Code in src/node/ is meant to be segregated from code in
src/wallet/ and src/qt/, to ensure wallet and GUI
code changes don't interfere with node operation, to allow wallet and GUI code
to run in separate processes, and to perhaps eventually allow wallet and GUI
code to be maintained in separate source repositories.
As a rule of thumb, code in one of the src/node/,
src/wallet/, or src/qt/ directories should avoid
calling code in the other directories directly, and only invoke it indirectly
through the more limited src/interfaces/ classes.
This directory is at the moment
sparsely populated. Eventually more substantial files like
src/validation.cpp and
src/txmempool.cpp might be moved there.