Skip to content

feat(client): add RFC 8305 (Happy Eyeballs v2) support - #255

Open
magurotuna wants to merge 1 commit into
hyperium:masterfrom
magurotuna:happy-eyeballs-v2
Open

magurotuna wants to merge 1 commit into
hyperium:masterfrom
magurotuna:happy-eyeballs-v2

Conversation

@magurotuna

Copy link
Copy Markdown
Contributor

Implement RFC 8305 as an alternative connection strategy alongside the existing RFC 6555 behavior. Default behavior remains RFC 6555 for backward compatibility. In order to enable Happy Eyeballs v2, one needs to call HttpConnector::set_connection_attempt_delay().

RFC 8305 improvements over RFC 6555:

  • Address interleaving: alternates between address families (v6, v4, v6, v4...)
  • Staggered attempts: starts new connections at regular intervals
  • Better parallelism: multiple connections can race simultaneously

Closes hyperium/hyper#2450


Open question: the current implementation maintains both v1 (RFC 6555) and v2 (RFC 8305), with v1 as the default for backward compatibility. However, do we really want to maintain v1, considering that Happy Eyeballs is an internal optimization and v2 achieves the same goal more effectively.

Implement RFC 8305 as an alternative connection strategy alongside the
existing RFC 6555 behavior. Default behavior remains RFC 6555 for
backward compatibility.

RFC 8305 improvements over RFC 6555:
- Address interleaving: alternates between address families (v6, v4, v6, v4...)
- Staggered attempts: starts new connections at regular intervals
- Better parallelism: multiple connections can race simultaneously

Closes hyperium/hyper#2450
@cratelyn cratelyn added C-feature Category: feature. This is adding a new feature. S-waiting-on-review Status: waiting on review. A-legacy-client Area: legacy client. labels Sep 24, 2026
@cratelyn
cratelyn self-requested a review September 24, 2026 18:49

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-legacy-client Area: legacy client. C-feature Category: feature. This is adding a new feature. S-waiting-on-review Status: waiting on review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implementing RFC 8305 Happy Eyeballs v2

2 participants