-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
No end stream on ws connect and flush every message #73762
No end stream on ws connect and flush every message #73762
Conversation
Tagging subscribers to this area: @dotnet/ncl Issue DetailsThe second attempt to fix #72301 End stream should not be sent on the connect request, but it should be flushed instead. To test the change, I run all existing tests for 1.1 against local Kestrel server with WS over HTTP/2 support. All tests passed except CloseStatusDescription checks - it seems to be changed on the server side. Now server adds "Server received" and status at the beginning
|
/azp run runtime-libraries-coreclr outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2Connection.cs
Outdated
Show resolved
Hide resolved
src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2Connection.cs
Outdated
Show resolved
Hide resolved
src/libraries/System.Net.WebSockets/src/System/Net/WebSockets/ManagedWebSocket.cs
Outdated
Show resolved
Hide resolved
Co-authored-by: Natalia Kondratyeva <[email protected]>
/azp run runtime-libraries-coreclr outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
src/libraries/System.Net.WebSockets/src/System/Net/WebSockets/ManagedWebSocket.cs
Show resolved
Hide resolved
src/libraries/System.Net.WebSockets/src/System/Net/WebSockets/ManagedWebSocket.cs
Outdated
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.
Not to sound like a broken record, but where are the tests?
src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2Connection.cs
Outdated
Show resolved
Hide resolved
src/libraries/System.Net.WebSockets/src/System/Net/WebSockets/ManagedWebSocket.cs
Outdated
Show resolved
Hide resolved
Sorry, I'm again struggling to simulate "normal server" on the loopback server, so I ended up with manual testing on the local server. I tried to fix the test that should indicate closed connection though. |
src/libraries/System.Net.WebSockets/src/System/Net/WebSockets/ManagedWebSocket.cs
Outdated
Show resolved
Hide resolved
/azp run runtime-libraries-coreclr outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
I opened an issue for tests #73849 |
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.
LGTM
src/libraries/System.Net.WebSockets/src/System/Net/WebSockets/ManagedWebSocket.cs
Outdated
Show resolved
Hide resolved
src/libraries/System.Net.WebSockets/src/System/Net/WebSockets/ManagedWebSocket.cs
Outdated
Show resolved
Hide resolved
src/libraries/System.Net.WebSockets/src/System/Net/WebSockets/ManagedWebSocket.cs
Outdated
Show resolved
Hide resolved
Co-authored-by: Stephen Toub <[email protected]>
/azp run runtime-libraries-coreclr outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
Failures in the outeloop are unrelated |
The second attempt to fix #72301
End stream should not be sent on the connect request, but it should be flushed instead.
Also, for web sockets we should flush every message immediately.
To test the change, I run all existing tests for 1.1 against local Kestrel server with WS over HTTP/2 support. All tests passed except CloseStatusDescription checks - it seems to be changed on the server side. Now server adds "Server received" and status at the beginning