Subject: [quicwg/base-drafts] Acknowledge stream resets too (#1400)

From: Martin Thomson <[email-masked]>
Date: Tue, 29 May 2018 19:29:02 -0700

This builds on #1399, because I realized that it would be good to point out that there is no implicit acknowledgment of header table updates here.

Closes #1371.
You can view, comment on, or merge this pull request online at:

  https://github.com/quicwg/base-drafts/pull/1400

-- Commit Summary --

  * Acknowledge stream resets too

-- File Changes --

    M draft-ietf-quic-qpack.md (30)

-- Patch Links --

https://github.com/quicwg/base-drafts/pull/1400.patch
https://github.com/quicwg/base-drafts/pull/1400.diff

-- 
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/pull/1400

---

From: Martin Thomson <[email-masked]>
Date: Tue, 29 May 2018 22:36:25 -0700

@martinthomson pushed 1 commit.

f5f7c85  Fix figure

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/1400/files/ae485b3d133d564f4989947c2754f813eed8255f..f5f7c8510085dc24f2976f49f996b53294bb6f2a

---

From: Mike Bishop <[email-masked]>
Date: Wed, 30 May 2018 10:25:45 -0700

I think we may need to specify this a little more precisely, either here or in a separate section.

There are two scenarios to care about:

- **Stream has partially-received data, then gets a RST_STREAM.**  Transport+decoder might abort any unread data and immediately surface the RST, or it might save the RST for the first gap in received data, if any.  If the decoder is reading the data, perhaps it SHOULD acknowledge any blocks that it processes, then MUST send the RSA when it will not consume any more header blocks.

- **Receiver decides to send a STOP_SENDING.**  HTTP implementation/decoder decide that no more data will be consumed from a stream for some reason.  Even without receiving the RST_STREAM the STOP_SENDING will trigger, the decoder should emit this at the point no more data will be consumed from the stream.

Maybe we should phrase it as being sent when no further data on a stream will be consumed, but the stream was not read to completion.  Then receipt of a RST_STREAM and issuing a STOP_SENDING are cases that will happen.

-- 
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/pull/1400#issuecomment-393248033

---

From: Martin Thomson <[email-masked]>
Date: Wed, 30 May 2018 20:45:43 -0700

f14dc06  Genericize

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/1400/files/f5f7c8510085dc24f2976f49f996b53294bb6f2a..f14dc06861a2d26feb48b67c3f2aa055d3aeec4e

---

From: Mike Bishop <[email-masked]>
Date: Wed, 30 May 2018 20:48:19 -0700

MikeBishop approved this pull request.

 A stream that is reset might have multiple outstanding header blocks.  A decoder
-that receives a stream reset before the end of a stream generates a Stream Reset
-Acknowledgment instruction on the decoder stream.  This signals to the encoder
-that any references to the dynamic table are no longer outstanding.
+that receives a stream reset before the end of a stream generates a Stream
+Cancellation instruction on the decoder stream.  Similarly, a decoder that
+abandons reading of a stream need to signal this using the Stream Cancellation

need => needs

-- 
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/pull/1400#pullrequestreview-124663069

---

From: Martin Thomson <[email-masked]>
Date: Wed, 30 May 2018 20:52:47 -0700

79c6621  Plural, not plural

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/1400/files/f14dc06861a2d26feb48b67c3f2aa055d3aeec4e..79c66215cac75df4d21acf0b8b01bc151942c717