Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expose more http/2 configuration knobs #1255

Merged
merged 3 commits into from Sep 8, 2021
Merged

Conversation

glbrntt
Copy link
Collaborator

@glbrntt glbrntt commented Sep 8, 2021

Motivation:

Having more control over the configuration of the http/2 layer is useful
for certain performance sensitive situations. We recently exposed the
max frame size setting on the server (#1253); we should do the same on
the client.

Modifications:

  • Add configuration for the max frame size to the client
  • Fix the clamping of the max frame size on the server (this was missed
    when reviewing New configuration parameter for HTTP2 maxFrameSize. #1253)
  • Add tests to validate that the configured values are correctly clamped
  • Send SETTINGS_INITIAL_WINDOW_SIZE in the initial SETTINGS frame set to the
    value of the target window size.

Result:

Users have more control over HTTP/2 settings.

Motivation:

Having more control over the configuration of the http/2 layer is useful
for certain performance sensitive situations. We recently exposed the
max frame size setting on the server (grpc#1253); we should do the same on
the client.

Modifications:

- Add configuration for the max frame size to the client
- Fix the clamping of the max frame size on the server (this was missed
  when reviewing grpc#1253)
- Add tests to validate that the configured values are correctly clamped
- Send `SETTINGS_INITIAL_WINDOW_SIZE` in the initial SETTINGS frame set to the
  value of the target window size.

Result:

Users have more control over HTTP/2 settings.
@glbrntt glbrntt added the semver-minor ↑ Requires a SemVer Minor version change label Sep 8, 2021
Copy link
Collaborator

@Lukasa Lukasa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, two minor notes.

Sources/GRPC/ClientConnection.swift Outdated Show resolved Hide resolved
Sources/GRPC/ClientConnection.swift Show resolved Hide resolved
@glbrntt glbrntt merged commit 4a7231f into grpc:main Sep 8, 2021
@glbrntt glbrntt deleted the gb-more-h2-config branch September 8, 2021 15:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
semver-minor ↑ Requires a SemVer Minor version change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants