We should have a SearchByKadId RPC which allows us to search for a key in the network using it's DHT Id in the XOR space and then revisit how we refresh the Routing Table/have better tests.
TODO
Have a SearchByKadId RPC.
Rewrite the refresh logic in DHT & Routing Table to use the new RPC.
Remove the GenRandPeerId in go-libp2p-kbucket function which can ONLY produce upto maxCpls.
I understand that the GetClosestPeers RPC needs to take a kadId and move away from using the FindPeer RPC. However, how is the FindPeer issue linked to what we are trying to do here ?
aarshkshah1992 commentedApr 6, 2020
•
edited
We should have a
SearchByKadIdRPC which allows us to search for a key in the network using it's DHT Id in the XOR space and then revisit how we refresh the Routing Table/have better tests.TODO
Have a
SearchByKadIdRPC.Rewrite the refresh logic in DHT & Routing Table to use the new RPC.
Remove the
GenRandPeerIdingo-libp2p-kbucketfunction which can ONLY produce uptomaxCpls.Stop refreshing once we stop filling buckets because we are searching for CPLs that might not even have peers in the network. (Stop refreshing once we stop filling buckets #550)
PR at Routing Table Refresh manager #601.
Have a solid integration test and a TestGround that ensures the Refresh works correctly.
Also,
Nice to have:
Collapse empty buckets to make the state easy to reason about (Collapse empty buckets when possible. go-libp2p-kbucket#72).
PR at: NPeersForCpl and collapse empty buckets go-libp2p-kbucket#77.
Test refreshes on an empty RT returns an appropriate error Test that querying with an empty routing table returns the correct error #555.
PR at Routing Table Refresh manager #601.
The text was updated successfully, but these errors were encountered: