CURLMOPT_MAX_CONCURRENT_STREAMS(3)

CURLMOPT_MAX_CONCURRENT_STREAMS3

Max concurrent streams for http2

Usage

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

Overview

Pass a long indicating the max. The set number is used as the maximum number of concurrent streams libcurl should support on connections done using HTTP/2 or HTTP/3.

Valid values range from 1 to 2147483647 (2^31 - 1) and defaults to 100. The value passed here would be honored based on other system resources properties.

Default

100

Protocols

This functionality affects http only

Examples

int main(void)
{
  CURLM *m = curl_multi_init();
  /* max concurrent streams 200 */
  curl_multi_setopt(m, CURLMOPT_MAX_CONCURRENT_STREAMS, 200L);
}

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

4 releases since Debian 11 (Bullseye); the text changed 3 times.

  1. 11
  2. 12
  3. 13
  4. Arch

Availability

Added in curl 7.67.0

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