Skip to content

MAX_FRAME_SIZE propagation in HTTP/2 client flow control #10815

@spericas

Description

@spericas

Problem Description

A SETTINGS frame can be received at any time during the lifetime of an HTTP/2 connection. If it includes a new MAX_FRAME_SIZE settings, it needs to be honored by all running streams. We handle this correctly for a reset of INITIAL_WINDOW_SIZE but not MAX_FRAME_SIZE. See HTTP2ClientConnection#handle for more details.

From the spec: When a new SETTINGS_MAX_FRAME_SIZE value is sent, the receiver must acknowledge the SETTINGS frame with a SETTINGS ACK. The new frame size limit takes effect after the sender receives that ACK.
Once active, the updated limit governs all frames sent on the connection — including those belonging to already-existing streams — except that frames already in flight before the ACK are still valid under the previous limit.

Metadata

Metadata

Assignees

Labels

Type

Projects

Status

Sprint Scope

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions