CURLMOPT_MAX_PIPELINE_LENGTH.md (1508B)
1 --- 2 c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. 3 SPDX-License-Identifier: curl 4 Title: CURLMOPT_MAX_PIPELINE_LENGTH 5 Section: 3 6 Source: libcurl 7 See-also: 8 - CURLMOPT_MAX_HOST_CONNECTIONS (3) 9 - CURLMOPT_PIPELINING (3) 10 Protocol: 11 - All 12 Added-in: 7.30.0 13 --- 14 15 # NAME 16 17 CURLMOPT_MAX_PIPELINE_LENGTH - maximum number of requests in a pipeline 18 19 # SYNOPSIS 20 21 ~~~c 22 #include <curl/curl.h> 23 24 CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_PIPELINE_LENGTH, 25 long max); 26 ~~~ 27 28 # DESCRIPTION 29 30 No function since pipelining was removed in 7.62.0. 31 32 Pass a long. The set **max** number is used as the maximum amount of 33 outstanding requests in an HTTP/1.1 pipeline. This option is only used for 34 HTTP/1.1 pipelining, not for HTTP/2 multiplexing. 35 36 When this limit is reached, libcurl creates another connection to the same 37 host (see CURLMOPT_MAX_HOST_CONNECTIONS(3)), or queue the request until one 38 of the pipelines to the host is ready to accept a request. Thus, the total 39 number of requests in-flight is CURLMOPT_MAX_HOST_CONNECTIONS(3) * 40 CURLMOPT_MAX_PIPELINE_LENGTH(3). 41 42 # DEFAULT 43 44 5 45 46 # %PROTOCOLS% 47 48 # EXAMPLE 49 50 ~~~c 51 int main(void) 52 { 53 CURLM *m = curl_multi_init(); 54 /* set a more conservative pipe length */ 55 curl_multi_setopt(m, CURLMOPT_MAX_PIPELINE_LENGTH, 3L); 56 } 57 ~~~ 58 59 # %AVAILABILITY% 60 61 # RETURN VALUE 62 63 curl_multi_setopt(3) returns a CURLMcode indicating success or error. 64 65 CURLM_OK (0) means everything was OK, non-zero means an error occurred, see 66 libcurl-errors(3).