This builds off #6470 by adding additional state to CTxMemPoolEntry to track the size/fees of a transaction with all its in-mempool descendants (“packages”), and then sorts the mempool based on max(feerate of tx alone, feerate of tx with descendants)
, in order to improve the effectiveness of mempool limiting/eviction code.
This introduces 4 new policy limits which serve the limit the length and size of chains in the mempool, in order to ensure computational feasibility of the calculations being done to track descendant packages and effectiveness of the mempool limiting algorithms. A detailed description of the changes made to the mempool as part of this pull can be found in txmempool.h
.
See also this email to the bitcoin-dev list, describing the policy limits proposed: http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-August/010221.html