Page MenuHomePhabricator

Make the TxRequestTracker a templated InvRequestTracker
AbandonedPublic

Authored by Fabien on May 20 2021, 07:00.

Details

Reviewers
deadalnix
Group Reviewers
Restricted Project
Summary

The TxRequestTracker is a well encapsulated class for managing the tx
inv response and scheduling of the associated getdata requests.

The proof inv can benefit from the exact same feature set. By making
this class a template depending on the inv id type (TxId or ProofId),
this will make it easy. All the specifics are left to the network layer.

Due to the template nature of the class, all the definitions are now in
the header file and the source file is no longer needed.

There is no change in behavior. The tests are updated in order to keep
the changes as minimal as possible.

Depends on D9554.

Test Plan
ninja all check-all
./test/functional/test_runner.py p2p_tx_download

ninja bitcoin-fuzzers
./src/test/fuzz/txrequest <path_to_corpus>

Diff Detail

Repository
rABC Bitcoin ABC
Branch
avalanche_proof_fromhex_consistently
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 15766
Build 31432: Build Difflint-circular-dependencies · build-without-wallet · build-fuzzer · build-debug · build-diff · build-clang-tidy · build-clang
Build 31431: arc lint + arc unit

Event Timeline

Fabien requested review of this revision.May 20 2021, 07:01
deadalnix requested changes to this revision.May 20 2021, 10:19
deadalnix added a subscriber: deadalnix.
deadalnix added inline comments.
src/invrequest.h
1

I assume this isn't a new file. Can we get an actual diff of what was changed?

This cannot be reasonably reviewed in its current form.

This revision now requires changes to proceed.May 20 2021, 10:19