manpagez: man pages & more
man CURLMOPT_MAX_TOTAL_CONNECTIONS(3)
Home | html | info | man
CURLMOPT_MAX_TOTAL_CONNECTIONS(3)                     Library Functions Manual


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 is used as the maximum
       number of simultaneously open connections in total using this multi
       handle. For each new session, libcurl might open a new connection up to
       the limit set by CURLMOPT_MAX_TOTAL_CONNECTIONS(3). If
       CURLMOPT_PIPELINING(3) is enabled, libcurl can try multiplexing if the
       host is capable of it.

       When more transfers are added to the multi handle than what can be
       performed due to the set limit, they get queued up waiting for their
       chance.

       While a transfer is queued up internally waiting for a connection, the
       CURLOPT_TIMEOUT_MS(3) timeout is counted inclusive of the waiting time,
       meaning that if you set a too narrow timeout the transfer might never
       even start before it times out. The CURLOPT_CONNECTTIMEOUT_MS(3) time
       is also similarly still treated as a per-connect timeout and might
       expire even before making a new connection is permitted.

       Changing this value while there are transfers in progress is possible.
       The new value is then used the next time checks are performed. Lowering
       the value does not close down any active transfers, it simply does not
       allow new ones to get made.


DEFAULT

       0, which means that there is no limit. It is then simply controlled by
       the number of easy handles added concurrently and how much multiplexing
       is being done.


PROTOCOLS

       This functionality affects all supported protocols


EXAMPLE

       int main(void)
       {
         CURLM *m = curl_multi_init();
         /* never do more than 15 connections */
         curl_multi_setopt(m, CURLMOPT_MAX_TOTAL_CONNECTIONS, 15L);
       }


AVAILABILITY

       Added in curl 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_HOST_CONNECTIONS(3)

libcurl                           2024-12-12 CURLMOPT_MAX_TOTAL_CONNECTIONS(3)

curl 8.11.1 - Generated Fri Dec 13 14:11:43 CST 2024
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.