Skip to content

fix connection reuse for HTTP/2 upgrades - #14739

Closed
icing wants to merge 1 commit into
curl:masterfrom
icing:h2-upgrade-pending
Closed

icing wants to merge 1 commit into
curl:masterfrom
icing:h2-upgrade-pending

Conversation

@icing

@icing icing commented Aug 30, 2024

Copy link
Copy Markdown
Contributor

Normally, when a connection's filters have all connected, the multiplex status is determined. However, HTTP/2 Upgrade: requests will only do this when the first server response has been received.

The current connection reuse mechanism does not accomodate that and when the time between connect and response is large enough, connection reuse may not happen as desired.

See test case 2405 failures, such as in
https://github.com/curl/curl/actions/runs/10629497461/job/29467166451

Add 'conn->bits.asks_multiplex' as indicator that a connection is still being evaluated for mulitplexing, so that new transfers may wait on this to be cleared.

Normally, when a connection's filters have all connected, the
multiplex status is determined. However, HTTP/2 Upgrade:
requests will only do this when the first server response
has been received.

The current connection reuse mechanism does not accomodate
that and when the time between connect and response is large
enough, connection reuse may not happen as desired.

See test case 2405 failures, such as in
https://github.com/curl/curl/actions/runs/10629497461/job/29467166451

Add 'conn->bits.asks_multiplex' as indicator that a connection is
still being evaluated for mulitplexing, so that new transfers
may wait on this to be cleared.
@bagder bagder closed this in 00ef607 Sep 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants