Re: Connection re-use w.r.t HTTP/1.1 and HTTP/2.0
Date: Tue, 17 Dec 2019 11:20:32 +0100 (CET)
On Tue, 17 Dec 2019, Kunal Ekawde wrote:
>> Right: CURLMOPT_MAX_CONCURRENT_STREAMS.
> Yes, this is desired behavior, basically that the connection is fully
> utilized to its multiplexing limit before new one is created towards that
> host, but I don't see it, rather, it creates new connection to host for a
> new stream if 'CURLMOPT_MAX_HOST_CONNECTIONS' limit not reached yet.
That's not how the logic in the code works so then something made it not add
the new transfer to the existing connection first.
libcurl *always* first checks if there's an existing connection it can use for
the new transfer and if it does, it won't create a new connection.
If there's no connection that is "good enough" (there are quite many rules and
checks), then it continues and creates a new connection instead.
If there are more than one connection in the cache to select from, then it can
be a little bit of a hit or miss which one the new request is done over.
-- / daniel.haxx.se | Get the best commercial curl support there is - from me | Private help, bug fixes, support, ports, new features | https://www.wolfssl.com/contact/ ------------------------------------------------------------------- Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library Etiquette: https://curl.haxx.se/mail/etiquette.htmlReceived on 2019-12-17