Provided by: libcurl4-doc_7.81.0-1ubuntu1.19_all bug

NAME

       CURLMOPT_MAX_HOST_CONNECTIONS - max number of connections to a single host

SYNOPSIS

       #include <curl/curl.h>

       CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_HOST_CONNECTIONS,
                                   long max);

DESCRIPTION

       Pass  a  long  to  indicate  max.  The  set  number  will be used as the maximum amount of
       simultaneously open connections to a single host (a host being the same as a host  name  +
       port  number  pair). For each new session to a host, libcurl will open a new connection up
       to the limit set by CURLMOPT_MAX_HOST_CONNECTIONS(3).  When  the  limit  is  reached,  the
       sessions  will  be pending until a connection becomes available. If CURLMOPT_PIPELINING(3)
       is enabled, libcurl will try to pipeline if the host is capable of it.

       The default max value is 0, unlimited.  However, for backwards compatibility,  setting  it
       to  0  when  CURLMOPT_PIPELINING(3) is 1 will not be treated as unlimited. Instead it will
       open only 1 connection and try to pipeline on it.

       This set limit is also used for proxy connections, and then the proxy is considered to  be
       the host for which this limit counts.

       When  more  transfers  are added to the multi handle than what can be performed due to the
       set limit, they will be queued up  waiting  for  their  chance.  When  that  happens,  the
       CURLOPT_TIMEOUT_MS(3)  timeout will be counted inclusive of the waiting time, meaning that
       if you set a too narrow timeout in such a case the transfer might never even start  before
       it times out.

       Even  in  the  queued  up  situation,  the CURLOPT_CONNECTTIMEOUT_MS(3) timeout is however
       treated as a per-connect timeout.

DEFAULT

       0

PROTOCOLS

       HTTP(S)

EXAMPLE

       CURLM *m = curl_multi_init();
       /* do no more than 2 connections per host */
       curl_multi_setopt(m, CURLMOPT_MAX_HOST_CONNECTIONS, 2L);

AVAILABILITY

       Added in 7.30.0

RETURN VALUE

       Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.

SEE ALSO

       CURLMOPT_MAXCONNECTS(3), CURLMOPT_MAX_TOTAL_CONNECTIONS(3),