Skip to content

Send RST_STREAM ahead of queued frames in the random write scheduler - #35

Merged
bogdanfinn merged 1 commit into
bogdanfinn:masterfrom
pagpeter:http2-rst-stream-priority
Oct 26, 2026
Merged

bogdanfinn merged 1 commit into
bogdanfinn:masterfrom
pagpeter:http2-rst-stream-priority

Conversation

@pagpeter

Copy link
Copy Markdown

The random write scheduler, which both HTTP/2 servers use by default, queued RST_STREAM frames behind the stream's DATA frames. A stream whose peer stopped reading could then never be reset: the RST_STREAM waited for flow control that would not come.

Port golang.org/x/net/http2 04296fa8 (CL 367154, golang/go#49741) to http2 and to the bundled server in h2_bundle.go: RST_STREAM frames are queued with the control frames.

The random write scheduler, which both HTTP/2 servers use by default,
queued RST_STREAM frames behind the stream's DATA frames. A stream whose
peer stopped reading could then never be reset: the RST_STREAM waited for
flow control that would not come.

Port golang.org/x/net/http2 04296fa8 (CL 367154, golang/go#49741) to
http2 and to the bundled server in h2_bundle.go: RST_STREAM frames are
queued with the control frames.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants