CURLMOPT_MAX_CONCURRENT_STREAMS(3) Library Functions Manual CURLMOPT_MAX_CONCURRENT_STREAMS(3)

CURLMOPT_MAX_CONCURRENT_STREAMS - max concurrent streams for http2

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

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.

100

This functionality affects http only

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

Added in curl 7.67.0

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

CURLMOPT_MAXCONNECTS(3), CURLOPT_MAXCONNECTS(3)

2025-02-13 libcurl