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