Subject: Re: [quicwg/base-drafts] Stream closed state and acknowledgments (#743)

From: martinduke <[email-masked]>
Date: Fri, 08 Sep 2017 14:32:24 +0000 (UTC)

I think the stream should remain open until full acknowledgment, for two reasons. One, per #765 the logical place to put in flight data is in the stream data structure, so I have to keep it around.

Two, a QUIC stream has roughly the semantics of a TCP close and it would be nice to adhere to those norms.

But I concede that it isn't a big deal either way.

-- 
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/743#issuecomment-328119244

---

From: Igor Lubashev <[email-masked]>
Date: Mon, 11 Sep 2017 19:33:50 +0000 (UTC)

> Does a stream become closed when all data is sent the first time, or when that data is acknowledged?

Given that we've moved to max stream id, what difference does the answer to the question make?  Defining "closed" as "when FIN is sent" or "when FIN is requested to be sent" or "when stream.close() API function returns" makes for simpler state diagrams.  Defining "closed" as "when ACKs have been received for all data and the FIN" aligns better with possible implementations.

As far as possible implementations are concerned, "close" can be defined as when the implementation is free to forget all about the stream, except that it is "closed". That happens when "ACKs have been received for all data and the FIN" or when RST is sent.

-- 
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/743#issuecomment-328635021