-
Notifications
You must be signed in to change notification settings - Fork 10.4k
Closed
Labels
HTTP3area-networkingIncludes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractionsIncludes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions
Milestone
Description
We should have equivalents to most of Http2TimeoutTests for HTTP/3.
Timeouts to add and/or verify:
- Min combined request body rate timeouts
- KestrelServerLimits.MinRequestBodyDataRate
- HTTP/3 should partially support the IHttpMinRequestBodyDataRateFeature.
- Tracked individually by HTTP/3: Support request body rate timeout #29655
- Min combined response rate timeouts
- KestrelServerLimits.MinResponseDataRate
- This is everything sent to the client. The response headers, response body, control frames, etc...
- Response drain timeouts
- Derived from KestrelServerLimits.MinResponseDataRate and KestrelServerLimits.MaxResponseBufferSize
- When there's backpressure on the underlying stream/connection after
PipeWriter.FlushAsync()
completes which can happen with non-zeroPauseWriterThreshold
.
- Request header timeouts
- Keep-alive timeouts (will use msquic timeout)
- KestrelServerLimits.KeepAliveTimeout
- We probably don't want to keep idle QuicConnections around forever
If any the above bullet points aren't implemented yet, they probably deserve their own issue. The same goes for the size and count based limits in KestrelServerLimits:
- MaxRequestLineSize
- MaxRequestHeadersTotalSize
- MaxRequestHeaderCount
- MaxRequestBodySize (+IHttpMaxRequestBodySizeFeature)
- MaxConcurrentConnections
Metadata
Metadata
Assignees
Labels
HTTP3area-networkingIncludes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractionsIncludes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions