You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Make HTTP/2 flow control target window size configurable in a client connection.
Motivation:
Higher stremaing thruput from server to client is available by specifying a flow control window size higher than the initial value of 2^16-1. The target value needs to be passed either using SETTINGS_INITIAL_WINDOW_SIZE in the connection preface, or via a WINDOW_UPDATE. The HTTP2FlowControlWindow passes the value configured here in `windowUpdate`.
Modifications:
Added property `targetWindowSize` to `ClientConnection.Configuration`.
In the existing `ClientConnection.Configuration.init`, sets the new `targetWindowSize` property to the initial flow-control window size (65535).
Duplicated `ClientConnection.Configuration.init` and added a `targetWindowSize` arg.
Added property and setter for `targetWindowSize` to `ClientConnection.Builder`.
During client bootstrap, pass `configuration.targetWindowSize` to the channel initializer.
Duplicated channel initializer `configureGRPCClient` and added a `targetWindowSize` arg.
Duplicated all tests that directly invoke the original `ClientConnection.Configuration.init` to explicitly pass `targetWindowSize`to the new initializer.
Result:
One can build a `ClientConnection` with a target window size value that is configured via a WINDOW_UPDATE after the connection is established.
0 commit comments