-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HTTP/3: QuicStream.ReadAsync ignores abort? #55056
Comments
Tagging subscribers to this area: @dotnet/ncl Issue DetailsI have a server-to-client unidirectional stream. The server aborts its stream with: _stream.AbortRead(Error);
_stream.AbortWrite(Error); (AbortRead call is probably unnecessary, but I'm guessing it's not the cause of this issue) The client stream then calls ReadAsync and returns 0 (which usually indicates successfully reading to the end of the stream). I expected an aborted exception instead. When I look at the client stream's internal state I can see that it received the error code (ReadErrorCode): Is this intended?
|
stream.ReadAsync does throw Is the bug unique to reading from server-to-client unidirectional streams? |
This should work as you say, we should investigate and fix that. Haven't we done some work in handling aborts for |
This may be fixed with #54798 as we set |
This might be a duplicate of #53530 |
This is a race condition. The test correctly threw |
Duplicate of #53530 |
I have a server-to-client unidirectional stream. The server aborts its stream with
AbortWrite(Error)
The client stream then calls
ReadAsync
and it returns a read count of 0. This is unexpected. Usually, a read count of 0 indicates successfully reading to the end of the stream. I expected an aborted exception instead.When I look at the client stream's internal state I can see that it received the error code (ReadErrorCode):
Is this intended? I haven't tested whether this happens in other stream scenarios (client-to-server bidirectional and client-to-server unidirectional).
The text was updated successfully, but these errors were encountered: