Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
CURLMOPT_...ONNECTIONS(3)  Library Functions Manual  CURLMOPT_...ONNECTIONS(3)

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	maximum	amount of simultaneously  open
       connections  libcurl may	hold a single host (a host being the same as a
       hostname	+ port number pair). For each new transfer to the  same	 host,
       libcurl	might  open  a	new  connection	 up  to	the limit set by CURL-
       MOPT_MAX_HOST_CONNECTIONS(3). When the limit is reached,	 new  sessions
       are kept	pending	until a	connection becomes available.

       The  default max	value is 0, unlimited. 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 per-
       formed  due  to	the  set  limit,  they are 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 ex-
       pire 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

PROTOCOLS
       This functionality affects all supported	protocols

EXAMPLE
       int main(void)
       {
	 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	curl 7.30.0

RETURN VALUE
       curl_multi_setopt(3) returns a CURLMcode	indicating success or error.

       CURLM_OK	(0) means everything was OK, non-zero means an error occurred,
       see libcurl-errors(3).

SEE ALSO
       CURLMOPT_MAXCONNECTS(3),	CURLMOPT_MAX_TOTAL_CONNECTIONS(3)

libcurl				  2025-06-03	     CURLMOPT_...ONNECTIONS(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=CURLMOPT_MAX_HOST_CONNECTIONS&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help