-
Notifications
You must be signed in to change notification settings - Fork 10.4k
HTTP2: Send remaining data and trailers together #13914
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
Conversation
src/Servers/Kestrel/Core/src/Internal/Http2/Http2FrameWriter.cs
Outdated
Show resolved
Hide resolved
src/Servers/Kestrel/Core/src/Internal/Http2/Http2FrameWriter.cs
Outdated
Show resolved
Hide resolved
I can't think of a great way here. You would need to be able to hang somewhere between WriteData and writing the response trailers to verify that the data wasn't flushed. |
No, we don't have a great way to check for the absence of a gap between frames. Checking for the presence of a gap would be easier. |
I've added a check for flow control and a test - I expected |
Flow control is unblocked by sending window updates frames (manually), not by calling ExpectAsync. |
Thanks. Test now verifies flow control is respected. |
src/Servers/Kestrel/Core/src/Internal/Http2/Http2OutputProducer.cs
Outdated
Show resolved
Hide resolved
src/Servers/Kestrel/Core/src/Internal/Http2/Http2FrameWriter.cs
Outdated
Show resolved
Hide resolved
Much better. I assume it shows up as expected in a wireshark trace? |
src/Servers/Kestrel/Core/src/Internal/Http2/Http2OutputProducer.cs
Outdated
Show resolved
Hide resolved
@Tratcher Ping. Could you re-review and either approve or give feedback of issues to resolve. |
Fixes #11270
The test checks that the data is correct, but it doesn't verify that data and trailers were flushed together. What is the best way to check this using the current HTTP/2 test pattern?