Skip to content

ClientHttp2Session doesn't acknowledge new settings #29764

Closed
@szmarczak

Description

@szmarczak

Demo:

https://runkit.com/szmarczak/5d90f849ecc28e001ac8f3e1

Current output:

client side - 4294967295
client side - 4294967295
server side - 4294967295
server side - 2

Expected output:

client side - 4294967295
client side - 2
server side - 4294967295
server side - 2

As per the spec:

6.5. SETTINGS

SETTINGS parameters are not negotiated; they describe characteristics of the sending peer, which are used by the receiving peer. Different values for the same parameter can be advertised by each peer. For example, a client might set a high initial flow-control window, whereas a server might set a lower value to conserve resources.

A SETTINGS frame MUST be sent by both endpoints at the start of a connection and MAY be sent at any other time by either endpoint over the lifetime of the connection. Implementations MUST support all of the parameters defined by this specification.

Each parameter in a SETTINGS frame replaces any existing value for that parameter. Parameters are processed in the order in which they appear, and a receiver of a SETTINGS frame does not need to maintain any state other than the current value of its parameters. Therefore, the value of a SETTINGS parameter is the last value that is seen by a receiver.

Sounds like a bug.

Metadata

Metadata

Assignees

No one assigned

    Labels

    confirmed-bugIssues with confirmed bugs.http2Issues or PRs related to the http2 subsystem.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions