Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS (3)

Name

CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS - balls

Synopsis

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS,
long timeout);

Description

curl_easy_setopt options                  CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS(3)



NAME
       CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS  - head start for ipv6 for happy eye-
       balls

SYNOPSIS
       #include <curl/curl.h>

       CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS,
                                 long timeout);

DESCRIPTION
       Happy eyeballs is an algorithm that attempts to connect  to  both  IPv4
       and  IPv6  addresses  for  dual-stack  hosts, preferring IPv6 first for
       timeout milliseconds. If the IPv6 address cannot be connected to within
       that time then a connection attempt is made to the IPv4 address in par-
       allel. The first connection to be established is the one that is used.

       The range of suggested useful values for timeout is limited. Happy Eye-
       balls  RFC  6555  says  "It  is RECOMMENDED that connection attempts be
       paced 150-250 ms apart to balance human factors against network  load."
       libcurl  currently  defaults  to  200  ms. Firefox and Chrome currently
       default to 300 ms.

DEFAULT
       CURL_HET_DEFAULT (currently defined as 200L)

PROTOCOLS
       All except FILE

EXAMPLE
       CURL *curl = curl_easy_init();
       if(curl) {
         curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
         curl_easy_setopt(curl, CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, 300L);

         curl_easy_perform(curl);

         /* always cleanup */
         curl_easy_cleanup(curl);
       }

AVAILABILITY
       Added in 7.59.0

RETURN VALUE
       Returns CURLE_OK


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | web/curl         |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+

SEE ALSO
       CURLOPT_CONNECTTIMEOUT_MS(3),         CURLOPT_TIMEOUT(3),          CUR-
       LOPT_LOW_SPEED_LIMIT(3),



NOTES
       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source       was       downloaded      from       https://curl.se/down-
       load/curl-7.83.1.tar.bz2.

       Further information about this software can be found on the open source
       community website at http://curl.haxx.se/.



libcurl 7.83.1                 November 26, 2021
                                          CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS(3)