Skip to content

Conversation

@clue
Copy link
Member

@clueclue 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 = newReact\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.

@clueclue added this to the v1.4.0 milestone Mar 7, 2020
@clueclue changed the title Make happy eyeballs algorithm (IPv6) the default, add new happy_eyeballs optionMake happy eyeballs algorithm (IPv6) the default, add new happy_eyeballs option to ConnectorMar 7, 2020
@clue
Copy link
MemberAuthor

clue commented Mar 7, 2020

@CharlotteDunois @WyriHaximus I agree with what you're saying. These changes had been cherry-picked from #216 without modification, I've just updated this to skip the affected tests instead and improved some of the test timeouts to avoid some sporadic false negatives 👍

@clueclue requested review from WyriHaximus and jsorMarch 7, 2020 16:07
Copy link
Member

@WyriHaximusWyriHaximus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚢 🇮🇹

@clue
Copy link
MemberAuthor

clue commented Mar 8, 2020

Updated slightly to fix a minor documentation typo :shipit:

jsor
jsor approved these changes Mar 8, 2020
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@clue@jsor@WyriHaximus