This is almost the same change set as #16442 but:
- fixup commits have been squashed into their appropriate commits
- some commits have been broken up into smaller pieces
- ordering of commits has changed
- a few other minor changes
This PR is marked WIP as it’s a demonstration of the entire change. I’ll split off commits into smaller PRs for merge.
The original PR has already received a lot of review, so I think it should be possible to get this merged over the next few weeks. To hold myself accountable, I’m targeting the following timeline. Obviously, the PRs shouldn’t be merged until they’ve received thorough review.
Functionality | Commits | PR | Target merge date | Actual merge date | |
---|---|---|---|---|---|
✓ | Serve cfcheckpt requests | [init] Add -peercfilters option, [net processing] Message handling for getcfcheckpt., [test] Add test for cfcheckpt | #18877 | 2020-05-13 | 2020-05-12 |
✓ | Cache cfcheckpt headers | [net processing] Cache compact filter checkpoints in memory. | #18960 | 2020-05-20 | 2020-05-21 |
✓ | Serve cfheaders requests | [net processing] Message handling for getcfheaders., [test] Add test for cfheaders | #19010 | 2020-05-27 | 2020-05-26 |
✓ | Serve cfilters requests | [indexes] Fix default [de]serialization of BlockFilter., [net processing] Message handling for getcfilters., [test] Add test for cfilters. | #19044 | 2020-06-03 | 2020-05-31 |
✓ | Signal NODE_COMPACT_FILTERS support | [net] Signal NODE_COMPACT_FILTERS if we’re serving compact filters., [test] Add test for NODE_COMPACT_FILTER. | #19070 | 2020-06-10 | 2020-08-13 |