You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The intent of making IMultiplexedStream disposable was to await on SlicStream tasks and to dispose the Quic stream when the reading and writing sides were completed.
For Slic: awaiting the sending of the stream reset/stop sending/unidirecitonal stream release frame is not needed since these tasks don't throw exceptions other than unexpected exceptions.
For Quic: it doesn't work because ReadsClosed completes to soon and because aborting the stream from the writes closed continuation sporadically cause the peer reading side to complete successfully, see;
The intent of making
IMultiplexedStream
disposable was to await onSlicStream
tasks and to dispose the Quic stream when the reading and writing sides were completed.For Slic: awaiting the sending of the stream reset/stop sending/unidirecitonal stream release frame is not needed since these tasks don't throw exceptions other than unexpected exceptions.
For Quic: it doesn't work because
ReadsClosed
completes to soon and because aborting the stream from the writes closed continuation sporadically cause the peer reading side to complete successfully, see;QuicStream.ReadsClosed
completes before EOS is consumed dotnet/runtime#79818QuicStream.WritesClosed
continuation ran before the Quic reset frame is sent? dotnet/runtime#79911The text was updated successfully, but these errors were encountered: