-
Notifications
You must be signed in to change notification settings - Fork 14
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
Quic and Slic fixes #2379
Quic and Slic fixes #2379
Conversation
Can you open a proposal that describes what you've implemented here? Keeping an async-disposable multiplexed stream where DisposeAsync:
is not a correct API in my view. |
Opened #2381 |
tests/IceRpc.Conformance.Tests/Transports/MultiplexedConnectionConformanceTests.cs
Outdated
Show resolved
Hide resolved
tests/IceRpc.Conformance.Tests/Transports/MultiplexedConnectionConformanceTests.cs
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, there are still a few references to DiposeAsync in SlicStream comments. There are also a few background tasks that do not handle non-IceRpcExceptions and will end up as UTE, I guess we can fix this in a separate PR for #2351
This PR provides a number of fixes:
ReadsClosed
semantics with Quic,ReadsClosed
is completed as soon as the last piece of data is returned fromReadAsync
(instead of being completed when the data is singled consumed by the app withAdvanceTo
)ReadsClosed
andWritesClosed
tasks to no longer raise exceptions.Protocol tests with Quic now work. It fixes #2287 but it doesn't fix #2300 or #2348.