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

First, CANCEL_PUSH; then RESET_STREAM if appropriate #4234

Merged
merged 2 commits into from
Oct 19, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions draft-ietf-quic-http.md
Original file line number Diff line number Diff line change
Expand Up @@ -1314,10 +1314,13 @@ one. If the push stream is open, the server SHOULD abruptly terminate that
stream. If the push stream has already ended, the server MAY still abruptly
terminate the stream or MAY take no action.

When a server sends CANCEL_PUSH, it is indicating that it will not be fulfilling
a promise. The client cannot expect the corresponding promise to be fulfilled,
unless it has already received and processed the promised response. A server
SHOULD send a CANCEL_PUSH frame even if it has opened the corresponding stream.
A server sends CANCEL_PUSH to indicate that it will not be fulfilling a promise
which was previously sent. The client cannot expect the corresponding promise
to be fulfilled, unless it has already received and processed the promised
response. Regardless of whether a push stream has been opened, a server
SHOULD send a CANCEL_PUSH frame when it determines that promise will not be
fulfilled. If a stream has already been opened, the server can
abort sending on the stream with an error code of H3_REQUEST_CANCELLED.

Sending a CANCEL_PUSH frame has no direct effect on the state of existing push
streams. A client SHOULD NOT send a CANCEL_PUSH frame when it has already
Expand Down