curl / Mailing Lists / curl-library / Single Mail
Buy commercial curl support from WolfSSL. We help you work out your issues, debug your libcurl applications, use the API, port to new platforms, add new features and more. With a team lead by the curl founder himself.

Connection re-use w.r.t HTTP/1.1 and HTTP/2.0

From: Kunal Ekawde via curl-library <curl-library_at_cool.haxx.se>
Date: Mon, 16 Dec 2019 17:59:02 +0530

Hi All,

Connection re-use has been discussed earlier in some context but I
wanted to know more with respect to recent modifications.

I've use case of both HTTP/1.1 and HTTP/2 transfers and the settings
are same to both as it applies to same multi handle.
curl_multi_setopt(multi_handle_m, CURLMOPT_MAXCONNECTS, maxConnects);
curl_multi_setopt(multi_handle_m, CURLMOPT_MAX_HOST_CONNECTIONS,
maxConnectsPerHost);
curl_multi_setopt(multi_handle_m, CURLMOPT_MAX_TOTAL_CONNECTIONS,
maxParallelConnects);
curl_multi_setopt(multi_handle_m, CURLMOPT_PIPELINING, CURLPIPE_MULTIPLEX);
For each transfer:
curl_easy_setopt(easy_handle, CURLOPT_PIPEWAIT, 1L);

Desired behavior in HTTP/2 for me would be to re-use the same
connection until some limit on requests on a connection,
something like may be max concurrent streams and only then create new
connection based on 'CURLMOPT_MAX_HOST_CONNECTIONS'.
Current observation is that each new request/transfer starts a new
connection upto 'CURLMOPT_MAX_HOST_CONNECTIONS' and then re-uses
those.

For HTTP/1.1 desired would be to pipe the requests upto certain limits
and then create another connection.

I'm currently using 7.66.0 version, request to please shed some light on this.

Thanks,
~Kunal
-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette: https://curl.haxx.se/mail/etiquette.html
Received on 2019-12-16