bitcoin
bitcoin copied to clipboard
refactor: extract CCheckQueue's data handling into a separate container "Bag"
CCheckQueue has stored its work items in a queue, but made no guarantee about the order of elements in that container. This PR extracts that data storage handling into a separate container class Bag. This is pure refactoring, the result should have a better separation of concerns, adds tests for the new container, and makes it now easier to separately test and optimize the container.
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
Code Coverage
For detailed information about the code coverage, see the test coverage report.
Reviews
See the guideline for information on the review process.
| Type | Reviewers |
|---|---|
| ACK | jonatack |
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.
Conflicts
No conflicts as of last run.
Thanks @jonatack , I've rebased 6b0537c -> 6a9c6ea. Fixed Makefile & include conflict, and added a reserve() in a unit test to fix a clang-tidy warning.
ACK 6a9c6ea9734854a2438d180ae13f123170e96d4c
I didn't dive too deeply into this yet but it's a bit sad that we can not remove more code due to this, that would certainly make it a more interesting change. Do you already have other places in mind where we could use this?
You also mention the order of elements, but it's unclear why that is important. This hasn't changed right? Or is this just about the naming choice?
I can't really make sense of the CI failure. Could you do a rebase? Since this is a fairly old change it might be some hidden merge conflict.
🤔 There hasn't been much activity lately and the CI seems to be failing.
If no one reviewed the current pull request by commit hash, a rebase can be considered. While the CI failure may be a false positive, the CI hasn't been running for some time, so there may be a real issue hiding as well. A rebase triggers the latest CI and makes sure that no silent merge conflicts have snuck in.