-
Notifications
You must be signed in to change notification settings - Fork 235
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proposed DHTv2 Changes #473
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Stebalien
force-pushed
the
cypress
branch
4 times, most recently
from
March 6, 2020 04:02
657cbbd
to
e505723
Compare
aschmahmann
force-pushed
the
cypress
branch
2 times, most recently
from
March 26, 2020 23:25
82d847c
to
314213d
Compare
…h means do not abort the query early
…we have heard about (in a given path) has been found
…ally. Concurrency option now sets alpha. DisjointPaths option now sets d. Default number of disjoint paths is now bucketSize/2.
* feat: consume identify events to evaluate routing table addition * fix: routing table no longer gets an update just because new messages have arrived or been sent * fix: add already connected peers into the routing table before listening to events Co-authored-by: Raúl Kripalani <[email protected]> Co-authored-by: Aarsh Shah <[email protected]>
1. Continue to best-effort provide, but still return an error when we fail to send provider records to the _best_ peers. 2. Continue returning the best peer's we've found in GetClosestPeers, but also return an error to indicate that we didn't find the closest ones. And fix the hang test.
Allows specifying peer filter functions on query and on adding peers to the routing table. This patch also includes some reasonable default functions for a public-only and private-only DHT. Co-authored-by: Will Scott <[email protected]> Co-authored-by: Steven Allen <[email protected]>
This should stop us from waiting on unresponsive peers. This only kicks in when we've already _sent_ a request so this: * Shouldn't be blocked on other requests we're planning on making. * Shouldn't be blocked on dialing.
* Add Kademlia async lookup implementation (replaces prior implementation) * Add lookup events that allow full lookup reconstruction from logs * Introduce lookup stopping condition, based on parameter "beta" Co-authored-by: Adin Schmahmann <[email protected]>
Previously, we'd only return the target peer if we were connected to them. However, this makes it difficult to impossible to find peers that are mostly disconnected from the network. This change also changes `p` to `from` in several places as `p` is _very_ confusing. We should probably switch away from using `p` everywhere.
* new RT management policy
* fix Low Peers and Cleanup
…rs (#536) * record valuable peers algorithm only takes into account latency of seed peers
…ns an error instead of hanging
Except deprecated warn calls
* Remove deprecated events. * Fix warning -> warn. * Use structured logging (some places).
The querying node _is_ allowed to reset and go away. fixes #431
When this option is passed, the DHT node will listen on and query _only_ using the old DHT protocol. Importantly, the node won't even pretend to be a new DHT node because it's routing table includes V1 peers.
We no longer need this now that we explicitly support v1 compatibility mode.
…nd refresh routing tables for orphaned nodes
Stebalien
approved these changes
Apr 6, 2020
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This branch contains the various changes to the DHT that will result in us bumping the DHT protocol version.
The changes include: