This is related to the discussion on #77216 .
It looks like today QuicStream.ReadsClosed gets completed as soon as the last piece of data is returned by QuicStream.ReadAsync and before QuicStream.ReadAsync returns 0 to indicate the end of the stream.
This is demonstrated by the test case attached. What are the excepted semantics for ReadsClosed?
Should it complete:
- as soon as EOS is received and even if there's buffered data
- when EOS is received and after the buffered data is consumed
- when EOS is received and after the buffered data and EOS are consumed.
quicstreameos.zip
This is related to the discussion on #77216 .
It looks like today
QuicStream.ReadsClosedgets completed as soon as the last piece of data is returned byQuicStream.ReadAsyncand beforeQuicStream.ReadAsyncreturns 0 to indicate the end of the stream.This is demonstrated by the test case attached. What are the excepted semantics for
ReadsClosed?Should it complete:
quicstreameos.zip