Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

race condition when closing the underlying QUIC connection #89

Closed
marten-seemann opened this issue Nov 21, 2022 · 1 comment · Fixed by #95
Closed

race condition when closing the underlying QUIC connection #89

marten-seemann opened this issue Nov 21, 2022 · 1 comment · Fixed by #95
Assignees

Comments

@marten-seemann
Copy link
Contributor

A common use (at least for non-pooled WebTransport connections) will be to close the underlying QUIC connection when closing the WebTransport session.

This is inherently racy: The sender will send both a CLOSE_WEBTRANSPORT_SESSION capsule and a QUIC CONNECTION_CLOSE frame (unless you wait for the peer's FIN on the request stream, but why would you?). It's undetermined which one of the two will be received / processed first by the receiver.

This is not a problem if the sender uses the same error code and error message for the CONNECTION_CLOSE frame and for the CLOSE_WEBTRANSPORT_SESSION capsule. Assuming the QUIC stack properly exposes these values on its API, the receiver will be able to learn error code and error message.

Should we add that as a recommendation, or even a requirement?

vasilvv added a commit to vasilvv/draft-ietf-webtrans-http3 that referenced this issue Feb 18, 2023
This is mostly based on what Chrome currently does in production.

Fixes ietf-wg-webtrans#89.
@DavidSchinazi
Copy link
Collaborator

Chair: discussed during editor's meeting, see #95 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants