-
Notifications
You must be signed in to change notification settings - Fork 17.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
x/net/http2: add per-write timeouts (WriteByteTimeout) #61777
Comments
Change https://go.dev/cl/516200 mentions this issue: |
There is #61568 for HTTP/1. |
Thanks, I missed that one. Will comment there. |
This proposal has been added to the active column of the proposals project |
Have all remaining concerns about this proposal been addressed? The proposal is to add one new field to http2.Server:
|
Based on the discussion above, this proposal seems like a likely accept. The proposal is to add one new field to http2.Server:
|
No change in consensus, so accepted. 🎉 The proposal is to add one new field to http2.Server:
|
Change https://go.dev/cl/601496 mentions this issue: |
This issue is part of a project to move
x/net/http2
intostd
: #67810This specific proposal makes the HTTP/2 client and server configurations more consistent, which will simplify adding these configurations to
net/http
. (Also, it seems like a reasonable feature considered on its own.)HTTP/2 transports have a
Transport.WriteByteTimeout
configuration setting, which sets the maximum time a single write to a connection may take. The timeout begins when a write is made, and is extended whenever any data is written.This setting can be used to detect unresponsive connections when the timeout for an entire request may be large or unbounded.
I propose extending this feature to apply to HTTP/2 server connections.
I'd originally thought to propose adding
WriteByteTimeout
to HTTP/1 connections as well, but there's less motivation for it there: HTTP/1 connections only handle a single request at at time, and a connection can only be reused after a complete request/response cycle is completed. There's less need to separate the response write timeout from an individual byte-write timeout. In addition, it's pretty much impossible to implement a byte-write timeout when using thesendfile
path.Maybe it would make sense to add something like this for HTTP/1, but it's simpler to consider HTTP/2 for now.
The text was updated successfully, but these errors were encountered: