fix: start with bucket idx 0 if local key #142
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If the
local_key
is provided forClosestBucketsIter
start it start inStart(BucketIndex(0))
instead ofDone
. otherwise, theclosest_*
iterators will always be empty and make it impossible lookup the local node in the DHT.this is also the state libp2p-kad starts with if the local key was provided.
https://github.com/libp2p/rust-libp2p/blob/e530118fb017122786180570b2b68f89aac53905/protocols/kad/src/kbucket.rs#L361-L365
See also: https://docs.rs/libp2p-kad/0.41.0/src/libp2p_kad/behaviour.rs.html#831-856