Skip to content

Make happy eyeballs algorithm (IPv6) the default, add new happy_eyeballs option to Connector#224

Merged
WyriHaximus merged 3 commits intoreactphp:masterfrom
clue-labs:eyeball-default
Mar 8, 2020
Merged

Make happy eyeballs algorithm (IPv6) the default, add new happy_eyeballs option to Connector#224
WyriHaximus merged 3 commits intoreactphp:masterfrom
clue-labs:eyeball-default

Conversation

@clue
Copy link
Member

@clue clue commented Mar 7, 2020

The Connector class now defaults to using the
happy eyeballs algorithm to
automatically connect over IPv4 or IPv6 when a hostname is given.
This automatically attempts to connect using both IPv4 and IPv6 at the same time
(preferring IPv6), thus avoiding the usual problems faced by users with imperfect
IPv6 connections or setups.
If you want to revert to the old behavior of only doing an IPv4 lookup and
only attempt a single IPv4 connection, you can set up the Connector like this:

$connector = new React\Socket\Connector($loop, array(
    'happy_eyeballs' => false
));

Supersedes / closes #216, thanks @WyriHaximus for the original version. On top of this, I've resolved a garbage reference in legacy PHP by avoiding some unneeded promise wrapping and simplifying this logic slightly.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants