Page MenuHomePhabricator

[avalanche] Add a remote proof container to retain the proof set of our peers
ClosedPublic

Authored by Fabien on Oct 20 2023, 20:16.

Details

Summary

Currently unused outside of tests, this adds a new data structure to store the proofs from our peers. This links the proofid with the peer's node id and save the state (present or absent) as well as the last update time so we can process the data and determine if we're missing a proof or if a proof is getting dropped by the network.

Depends on D14658.

Test Plan
ninja check-avalanche-peermanager_tests

Diff Detail

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

Event Timeline

Fabien requested review of this revision.Oct 20 2023, 20:16
This revision is now accepted and ready to land.Oct 21 2023, 15:53
src/avalanche/peermanager.h
142 ↗(On Diff #42720)

It is not clear without reading a lot of code what present means. Locally present?

src/avalanche/peermanager.h
142 ↗(On Diff #42720)

I see that it is documented in the getremoteproofs RPC (D14662). Maybe that is enough.