Duncaen 9f52a7837f lib/fetch: add happy eyeballs connect algorithm (RFC6555/RFC8305)
Connect to the addresses from `getaddrinfo(3)`,
alternating between address family,
starting with ipv6 and wait `fetchConnDelay`
between each connection attempt.

If a connection is established within the attempts,
use this connection and close all others.

If `connect(3)` returns `ENETUNREACH`, don't attempt more
connections with the failing address family.

If there are no more addresses to attempt,
wait for `fetchConnTimeout` and return the first established
connection.

If no connection was established within the timeouts,
close all sockets and return -1 and set errno to
`ETIMEDOUT`.
2019-04-19 22:58:50 +02:00
..
2018-07-30 13:47:08 +02:00
2018-09-25 22:11:30 -04:00
2016-02-08 15:09:43 +01:00
2018-09-25 22:11:30 -04:00
2016-03-24 10:23:20 +01:00
2019-01-24 14:57:50 -05:00
2016-05-04 09:46:14 +02:00
2018-09-25 22:11:30 -04:00
2019-04-14 12:37:24 +02:00
2016-06-20 10:03:49 +02:00