Skip to content
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

Improve Dialing #781

Open
4 tasks
jacobheun opened this issue Jan 24, 2020 · 1 comment
Open
4 tasks

Improve Dialing #781

jacobheun opened this issue Jan 24, 2020 · 1 comment
Labels
Epic kind/enhancement A net-new feature or improvement to an existing feature

Comments

@jacobheun
Copy link
Contributor

jacobheun commented Jan 24, 2020

Design notes

We have a couple of warts in our dialing system that may cause issues with the new DHT, especially while testing.

  • We should fix the simultaneous dial issue and just eat the extra connections. The fact that two nodes can't dial each other at the same time is making testing painful.
  • Corollary: the connection manager should trim duplicate unused connections.
  • The dialer should really prefer faster transports like QUIC.
  • Connections should backoff based on addresses instead of peerIDs.

Testing mechanics

Unit tests.

Success Criteria

  • When reuseport is disabled, two peers dialing each other at the same time should succeed.
  • Multiple connections should eventually be trimmed.
  • If most of the network supports both QUIC and TCP, most connections should be QUIC.
@jacobheun jacobheun added the kind/enhancement A net-new feature or improvement to an existing feature label Jan 24, 2020
@jacobheun jacobheun added this to the Working Kademlia milestone Jan 24, 2020
@jacobheun jacobheun added the Epic label Jan 24, 2020
@aschmahmann
Copy link
Collaborator

@jacobheun @Stebalien Are we adding "connections should backoff based on addresses instead of peerIDs" to this list?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Epic kind/enhancement A net-new feature or improvement to an existing feature
Projects
None yet
Development

No branches or pull requests

2 participants