aboutsummaryrefslogtreecommitdiff
path: root/docs/libcurl/curl_multi_setopt.3
AgeCommit message (Collapse)Author
2013-03-13Multiple pipelines and limiting the number of connections.Linus Nielsen Feltzing
Introducing a number of options to the multi interface that allows for multiple pipelines to the same host, in order to optimize the balance between the penalty for opening new connections and the potential pipelining latency. Two new options for limiting the number of connections: CURLMOPT_MAX_HOST_CONNECTIONS - Limits the number of running connections to the same host. When adding a handle that exceeds this limit, that handle will be put in a pending state until another handle is finished, so we can reuse the connection. CURLMOPT_MAX_TOTAL_CONNECTIONS - Limits the number of connections in total. When adding a handle that exceeds this limit, that handle will be put in a pending state until another handle is finished. The free connection will then be reused, if possible, or closed if the pending handle can't reuse it. Several new options for pipelining: CURLMOPT_MAX_PIPELINE_LENGTH - Limits the pipeling length. If a pipeline is "full" when a connection is to be reused, a new connection will be opened if the CURLMOPT_MAX_xxx_CONNECTIONS limits allow it. If not, the handle will be put in a pending state until a connection is ready (either free or a pipe got shorter). CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE - A pipelined connection will not be reused if it is currently processing a transfer with a content length that is larger than this. CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE - A pipelined connection will not be reused if it is currently processing a chunk larger than this. CURLMOPT_PIPELINING_SITE_BL - A blacklist of hosts that don't allow pipelining. CURLMOPT_PIPELINING_SERVER_BL - A blacklist of server types that don't allow pipelining. See the curl_multi_setopt() man page for details.
2013-02-22libcurl documentation: clarifications and typosAlexander Klauer
* Elaborates on default values of some curl_easy_setopt() options. * Reminds the user to cast variadic arguments to curl_easy_setopt() to 'void *' where curl internally interprets them as such. * Clarifies the working of the CURLOPT_SEEKFUNCTION option for curl_easy_setopt(). * Fixes typo 'forth' → 'fourth'. * Elaborates on CURL_SOCKET_TIMEOUT. * Adds some missing periods. * Notes that the return value of curl_version() must not be passed to free().
2011-03-12source header: added to more filesDaniel Stenberg
2010-03-24remove the CVSish $Id$ linesDaniel Stenberg
2009-09-11point to the current functions, not the deprecated onesDaniel Stenberg
2008-12-28Anthony Bryan's man page cleanup in language and spellingDaniel Stenberg
2008-09-10Checked in some grammatical and minor other fixes in the documentation andDan Fandrich
examples that I found in the FreeBSD ports system.
2007-12-11clarify that the CURLMOPT_TIMERFUNCTION callback can pass in 0 and -1 as legalDaniel Stenberg
values and what they mean
2007-05-30Added CURLMOPT_MAXCONNECTS which is a curl_multi_setopt() option for settingDaniel Stenberg
the maximum size of the connection cache maximum size of the multi handle.
2006-10-12Jeff Pohlmeyer has been working with the hiperfifo.c example source code,Daniel Stenberg
and while doing so it became apparent that the current timeout system for the socket API really was a bit awkward since it become quite some work to be sure we have the correct timeout set. Jeff then provided the new CURLMOPT_TIMERFUNCTION that is yet another callback the app can set to get to know when the general timeout time changes and thus for an application like hiperfifo.c it makes everything a lot easier and nicer. There's a CURLMOPT_TIMERDATA option too of course in good old libcurl tradition.
2006-09-07Major overhaul introducing http pipelining support and shared connectionDaniel Stenberg
cache within the multi handle.
2006-07-26[Hiper-related work] Added a function called curl_multi_assign() that willDaniel Stenberg
set a private pointer added to the internal libcurl hash table for the particular socket passed in to this function.
2006-06-24corrected introduction version numberDaniel Stenberg
2006-01-15adjusted to the new concept of the callbackDaniel Stenberg