CURLMOPT_MAX_PIPELINE_LENGTH(3)

CURLMOPT_MAX_PIPELINE_LENGTH3

Maximum number of requests in a pipeline

Usage

#include <curl/curl.h>
CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_PIPELINE_LENGTH,
                            long max);

Overview

No function since pipelining was removed in 7.62.0.

Pass a long. The set max number is used as the maximum amount of outstanding requests in an HTTP/1.1 pipeline. This option is only used for HTTP/1.1 pipelining, not for HTTP/2 multiplexing.

When this limit is reached, libcurl creates another connection to the same host (see CURLMOPT_MAX_HOST_CONNECTIONS(3)), or queue the request until one

of the pipelines to the host is ready to accept a request. Thus, the total

number of requests in-flight is CURLMOPT_MAX_HOST_CONNECTIONS(3) * CURLMOPT_MAX_PIPELINE_LENGTH(3).

Default

5

Protocols

This functionality affects all supported protocols

Examples

int main(void)
{
  CURLM *m = curl_multi_init();
  /* set a more conservative pipe length */
  curl_multi_setopt(m, CURLMOPT_MAX_PIPELINE_LENGTH, 3L);
}

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).

Releases

6 releases since Debian 9 (Stretch); the text changed 5 times.

  1. 9
  2. 10
  3. 11
  4. 12
  5. 13
  6. Arch

Availability

Added in curl 7.30.0

From curl 8.23.0-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.