Skip to content

Add libcurl-style Happy Eyeballs IPv6/IPv4 fallback#3536

Open
koranyellow wants to merge 1 commit intoeclipse-mosquitto:developfrom
koranyellow:happy_eyeballs_multi_ipv6
Open

Add libcurl-style Happy Eyeballs IPv6/IPv4 fallback#3536
koranyellow wants to merge 1 commit intoeclipse-mosquitto:developfrom
koranyellow:happy_eyeballs_multi_ipv6

Conversation

@koranyellow
Copy link
Copy Markdown

This patch introduces an RFC8305 / libcurl-inspired Happy Eyeballs implementation to the Mosquitto client library. It performs dual-stack connection racing with a delayed IPv4 fallback, using fully non-blocking sockets and selecting the first socket that successfully completes the TCP handshake.

It preserves existing Mosquitto APIs and does not alter ABI.

Close #574

Thank you for contributing your time to the Mosquitto project!

Before you go any further, please note that we cannot accept contributions if
you haven't signed the Eclipse Contributor Agreement.
If you aren't able to do that, or just don't want to, please describe your bug
fix/feature change in an issue. For simple bug fixes it is can be just as easy
for us to be told about the problem and then go fix it directly.

Then please check the following list of things we ask for in your pull request:

  • Have you signed the Eclipse Contributor Agreement, using the same email address as you used in your commits?
  • Do each of your commits have a "Signed-off-by" line, with the correct email address? Use "git commit -s" to generate this line for you.
  • If you are contributing a new feature, is your work based off the develop branch?
  • If you are contributing a bugfix, is your work based off the fixes branch?
  • Have you added an explanation of what your changes do and why you'd like us to include them?
  • Have you successfully run make test with your changes locally?

This patch introduces an RFC8305 / libcurl-inspired Happy Eyeballs
implementation to the Mosquitto client library. It performs dual-stack
connection racing with a delayed IPv4 fallback, using fully non-blocking
sockets and selecting the first socket that successfully completes the
TCP handshake.

It preserves existing Mosquitto APIs and does not alter ABI.
Signed-off-by: Koran SARI <koran.sari@airties.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant