Page MenuHomePhabricator

p2p: Track orphans by who provided them
ClosedPublic

Authored by Fabien on May 28 2024, 15:41.

Details

Reviewers
PiRK
Group Reviewers
Restricted Project
Commits
rABC3f9234a41351: p2p: Track orphans by who provided them
Summary
We currently process orphans by assigning them to the peer that provided a missing parent; instead assign them to the peer that provided the orphan in the first place. This prevents a peer from being able to marginally delay another peer's transactions and also simplifies the internal API slightly. Because we're now associating orphan processing with the peer that provided the orphan originally, we no longer process orphans immediately after receiving the parent, but defer until a future call to ProcessMessage.

Backport of core#26551.

Depends on D16235.

Test Plan
ninja all check-all

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Fabien requested review of this revision.May 28 2024, 15:41
PiRK requested changes to this revision.May 28 2024, 17:58
PiRK added a subscriber: PiRK.
PiRK added inline comments.
src/net_processing.cpp
916 ↗(On Diff #47992)

The doxygen format seems wrong

This revision now requires changes to proceed.May 28 2024, 17:58
This revision is now accepted and ready to land.May 29 2024, 09:34