b8d279a81cdoc: add comment to explain correctness of GatherClusters() (Suhas Daftuar)aba7500a30Fix parameter name in getmempoolcluster rpc (Suhas Daftuar)6c1325a091Rename weight -> clusterweight in RPC output, and add doc explaining mempool terminology (Suhas Daftuar)bc2eb931daRequire mempool lock to be held when invoking TRUC checks (Suhas Daftuar)957ae23241Improve comments for getTransactionAncestry to reference cluster counts instead of descendants (Suhas Daftuar)d97d6199ceFix comment to reference cluster limits, not chain limits (Suhas Daftuar)a1b341ef98Sanity check feerate diagram in CTxMemPool::check() (Suhas Daftuar)23d6f457c4rpc: improve getmempoolcluster output (Suhas Daftuar)d2dcd37aacAvoid using mapTx.modify() to update modified fees (Suhas Daftuar)d84ffc24d2doc: add release notes snippet for cluster mempool (Suhas Daftuar)b0417ba944doc: Add design notes for cluster mempool and explain new mempool limits (Suhas Daftuar)2d88966e43miner: replace "package" with "chunk" (Suhas Daftuar)6f3e8eb300Add a GetFeePerVSize() accessor to CFeeRate, and use it in the BlockAssembler (Suhas Daftuar)b5f245f6f2Remove unused DEFAULT_ANCESTOR_SIZE_LIMIT_KVB and DEFAULT_DESCENDANT_SIZE_LIMIT_KVB (Suhas Daftuar)1dac54d506Use cluster size limit instead of ancestor size limit in txpackage unit test (Suhas Daftuar)04f65488caUse cluster size limit instead of ancestor/descendant size limits when sanity checking TRUC policy limits (Suhas Daftuar)634291a7dcUse cluster limits instead of ancestor/descendant limits when sanity checking package policy limits (Suhas Daftuar)fc18ef1f3fRemove ancestor and descendant vsize limits from MemPoolLimits (Suhas Daftuar)ed8e819121Warn user if using -limitancestorsize/-limitdescendantsize that the options have no effect (Suhas Daftuar)80d8df2d47Invoke removeUnchecked() directly in removeForBlock() (Suhas Daftuar)9292570f4cRewrite GetChildren without sets (Suhas Daftuar)3e39ea8c30Rewrite removeForReorg to avoid using sets (Suhas Daftuar)a3c31dfd71scripted-diff: rename AddToMempool -> TryAddToMempool (Suhas Daftuar)a5a7905d83Simplify removeRecursive (Suhas Daftuar)01d8520038Remove unused argument to RemoveStaged (Suhas Daftuar)bc64013e6fRemove unused variable (cacheMap) in mempool (Suhas Daftuar) Pull request description: As suggested in the main cluster mempool PR (https://github.com/bitcoin/bitcoin/pull/28676#pullrequestreview-3177119367), I've pulled out some of the non-essential optimizations and cleanups into this separate PR. Will continue to add more commits here to address non-blocking suggestions/improvements as they come up. ACKs for top commit: instagibbs: ACKb8d279a81csipa: ACKb8d279a81cTree-SHA512: 1a05e99eaf8db2e274a1801307fed5d82f8f917e75ccb9ab0e1b0eb2f9672b13c79d691d78ea7cd96900d0e7d5031a3dd582ebcccc9b1d66eb7455b1d3642235
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.