xf.li | 6c8fc1e | 2023-08-12 00:11:09 -0700 | [diff] [blame^] | 1 | c: Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al. |
| 2 | SPDX-License-Identifier: curl |
| 3 | Long: happy-eyeballs-timeout-ms |
| 4 | Arg: <milliseconds> |
| 5 | Help: Time for IPv6 before trying IPv4 |
| 6 | Added: 7.59.0 |
| 7 | Category: connection |
| 8 | Example: --happy-eyeballs-timeout-ms 500 $URL |
| 9 | See-also: max-time connect-timeout |
| 10 | Multi: single |
| 11 | --- |
| 12 | Happy Eyeballs is an algorithm that attempts to connect to both IPv4 and IPv6 |
| 13 | addresses for dual-stack hosts, giving IPv6 a head-start of the specified |
| 14 | number of milliseconds. If the IPv6 address cannot be connected to within that |
| 15 | time, then a connection attempt is made to the IPv4 address in parallel. The |
| 16 | first connection to be established is the one that is used. |
| 17 | |
| 18 | The range of suggested useful values is limited. Happy Eyeballs RFC 6555 says |
| 19 | "It is RECOMMENDED that connection attempts be paced 150-250 ms apart to |
| 20 | balance human factors against network load." libcurl currently defaults to |
| 21 | 200 ms. Firefox and Chrome currently default to 300 ms. |