Hello Daniel,

It is good to see work starting on this feature.

> Right now I need CURLMOPT_MAX_HOST_CONNECTIONS set to 1 to really
> stay on one connection only, and again, this may be fine for HTTP/2-only
> users but it may not be what users want for all protocols at once. Not sure
> how to handle this, but I'm not entirely happy with this and neither would I
> be to add a totally option like
> CURLMOPT_MAX_HOST_HTTP2_CONNECTIONS for this specific protocol
> version.

The connection management issues are interesting, after rereading section 9.1 
of the HTTP/2 spec it seems like having to set a value for either 
CURLMOPT_MAX_HOST_CONNECTIONS or CURLMOPT_MAX_HOST_HTTP2_CONNECTIONS would be a 
bit awkward. The spec states "Clients SHOULD NOT open more than one HTTP/2 
connection to a given host and port pair" and mentions a few cases where 
additional connections may be created as replacements; stream ID exhaustion, 
refresh of TLS keying material or replacement for connection encountering 
errors. To me this area feels like something better handled implicitly in 
libcurl, with the standard behaviour being a single connection.

> I run nghttpd locally as a test server. HTTPS only to start with.

I would gently ask to test non-HTTPS (h2c) soon too. In the past we have found 
issues with the h2c connection upgrade and related behaviour. The issues have 
been fixed along the way but it would be unfortunate to regress. For example, 
with the new changes if we can send multiple requests in parallel, which one 
performs the connection upgrade and does it stall the other requests until 
completion?

Regards
Lucas

-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html

Reply via email to