Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

CURLMOPT_MAX_TOTAL_CONNECTIONS (3)

Name

CURLMOPT_MAX_TOTAL_CONNECTIONS - max simultaneously open connections

Synopsis

#include <curl/curl.h>

CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_TOTAL_CONNECTIONS,
long amount);

Description

curl_multi_setopt options                    CURLMOPT_MAX_TOTAL_CONNECTIONS(3)



NAME
       CURLMOPT_MAX_TOTAL_CONNECTIONS - max simultaneously open connections

SYNOPSIS
       #include <curl/curl.h>

       CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_TOTAL_CONNECTIONS,
                                   long amount);

DESCRIPTION
       Pass  a long for the amount. The set number will be used as the maximum
       number of simultaneously open connections in  total  using  this  multi
       handle.  For each new session, libcurl will open a new connection up to
       the limit set by CURLMOPT_MAX_TOTAL_CONNECTIONS(3). When the  limit  is
       reached, the sessions will be pending until there are available connec-
       tions. If CURLMOPT_PIPELINING(3) is enabled, libcurl will  try  to  use
       multiplexing if the host is capable of it.

       When more transfers are added to the multi handle than what can be per-
       formed 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) time-
       out is however treated as a per-connect timeout.

DEFAULT
       The  default value is 0, which means that there is no limit. It is then
       simply controlled by the number of easy handles added.

PROTOCOLS
       All

EXAMPLE
       CURLM *m = curl_multi_init();
       /* never do more than 15 connections */
       curl_multi_setopt(m, CURLMOPT_MAX_TOTAL_CONNECTIONS, 15L);

AVAILABILITY
       Added in 7.30.0

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


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


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

SEE ALSO
       CURLMOPT_MAXCONNECTS(3), CURLMOPT_MAX_HOST_CONNECTIONS(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
                                             CURLMOPT_MAX_TOTAL_CONNECTIONS(3)