Skip to content

The connection should emit a WindowUpdated event on INITIAL_WINDOW_SIZE change #1193

Description

@pgjones

I think the connection should emit a WindowUpdated event on receipt of a settings frame that changes the INITIAL_WINDOW_SIZE. This is because this frame is valid after the receipt of headers and hence it implicitly updates the window (see _flow_control_change_from_settings). Without emitting this frame implementations have to specifically look for this settings change and respond appropriately themselves.

(I'll implement this, just wanted to get views on whether this is the correct thing to do).

Activity

  1. added a commit that references this issue on Jul 8, 2019
  2. Lukasa commented on Jul 8, 2019

    @Lukasa
    Member

    I think that’s reasonable enough, yeah.

  3. vmagamedov commented on Jul 9, 2019

    @vmagamedov
    Contributor

    I had the same issue in grpclib. This is not obvious (all the ways window can change) but current implementation sticks more closely to the spec than proposed change. And you can always point to the RFC 7540 Section 6.9.2 in the documentation to explain how flow-control works.

    Proposed change requires to generate fake WindowUpdated events for all current streams. This introduces additional (small?) overhead and this is just feels weird for me: WindowUpdate event doesn't mean WINDOW_UPDATE frame anymore.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions