Subject: [quicwg/base-drafts] Does it matter if the the STOP_SENDING error code is something other than EARLY RESPONSE? (#3130)

From: Mike Bishop <[email-masked]>
Date: Tue, 22 Oct 2019 15:38:38 -0700

Does it matter if the the STOP_SENDING error code is something other than EARLY RESPONSE?

_Originally posted by @RyanAtGoogle in https://github.com/quicwg/base-drafts/issues/2963#issuecomment-543883212_

Moving this out to a separate issue to avoid complicating #3123; my inclination is to propose the following rules:

- When a STOP_SENDING is received, if the error code has semantics in the context in which you received it, follow the semantics.
- If the error code has no semantics in that context (or at all), then take no action (other than resetting the stream, as required by the frame)
- If resetting your request stream causes the server to be unable to generate a response, it will reset its stream.  If it sends a complete response, the server clearly got everything it needed; the response is usable.
- If a response stream is reset after all bytes have been received, the response remains usable; no takebacks.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/3130

---

From: Mike Bishop <[email-masked]>
Date: Wed, 23 Oct 2019 13:14:13 -0700

Several of these are already in the draft:

> Clients MUST NOT discard complete responses as a result of having their request terminated abruptly, though clients can always discard responses at their discretion for other reasons.

> If a client stream terminates without enough of the HTTP message to provide a complete response, the server SHOULD abort its response with the error code H3_REQUEST_INCOMPLETE.

> If a stream is cancelled after receiving a complete response, the client MAY ignore the cancellation and use the response. 

Perhaps the clarification that's needed is to keep the "MAY abort reading," but separately say that "H3_EARLY_RESPONSE SHOULD be used as the error code"?  (Which does raise the question of whether it needs to be a separate error code from H3_NO_ERROR....)

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/3130#issuecomment-545616558