| commit | bff14c52567061031b9761881907c39e24792736 | [log] [tgz] |
|---|---|---|
| author | Damien Neil <dneil@google.com> | Thu Nov 13 09:52:54 2025 -0800 |
| committer | Damien Neil <dneil@google.com> | Mon Nov 24 14:35:53 2025 -0800 |
| tree | 4332056fd5a416940b844cad4c4a1350a72c7630 | |
| parent | 88a642172c174ab11f4c56f0ede777de3c8a21d4 [diff] |
http2: don't PING a responsive server when resetting a stream When sending a RST_STREAM for a canceled request, we sometimes send a PING frame along with the reset to confirm that the server is responsive and has received the reset. Sending too many PINGs trips denial-of-service detection on some servers, causing them to close a connection with an ENHANCE_YOUR_CALM error. Do not send a PING frame along with an RST_STREAM if the connection has displayed signs of life since the canceled request began. Specifically, if we've received any stream-related frames since the request was sent, assume the server is responsive and do not send a PING. We still send a PING if a request is canceled and no stream-related frames have been received from the server since the request was first sent. For golang/go#76296 Change-Id: I1be3532febf9ac99d65e9cd35346c02306db5f9d Reviewed-on: https://go-review.googlesource.com/c/net/+/720300 Reviewed-by: Nicholas Husin <husin@google.com> Reviewed-by: Nicholas Husin <nsh@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
This repository holds supplementary Go networking packages.
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://go.dev/doc/contribute.
The git repository is https://go.googlesource.com/net.
The main issue tracker for the net repository is located at https://go.dev/issues. Prefix your issue with “x/net:” in the subject line, so it is easy to find.