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

proposal: x/net/http2: Transport.MaxReadFrameSize #54850

Open
neild opened this issue Sep 2, 2022 · 3 comments
Open

proposal: x/net/http2: Transport.MaxReadFrameSize #54850

neild opened this issue Sep 2, 2022 · 3 comments
Assignees
Labels
Milestone

Comments

@neild
Copy link
Contributor

neild commented Sep 2, 2022

HTTP/2 endpoints specify a maximum frame size that they are willing to accept from their peer. The maximum frame size in each direction defaults to 16KiB, and can be set to a higher value in a SETTINGS frame.

The HTTP/2 Server.MaxReadFrameSize configuration knob allows setting the maximum frame size the server will accept. There is no corresponding knob for setting the maximum frame size the client will accept. We should add one. (We should also ensure that users don't need to set this to get good performance, of course.)

package http2
type Transport struct {
	// MaxReadFrameSize optionally specifies the largest frame
	// this transport is willing to read. A valid value is between
	// 16k and 16M, inclusive. If zero or otherwise invalid, a
	// default value is used.
	MaxReadFrameSize uint32
}
@neild
Copy link
Contributor Author

neild commented Sep 2, 2022

Originating in: https://go.dev/issue/47840

@neild neild self-assigned this Sep 2, 2022
@bradfitz
Copy link
Contributor

bradfitz commented Sep 23, 2022

Sounds fine to me.

@rsc
Copy link
Contributor

rsc commented Sep 28, 2022

This proposal has been added to the active column of the proposals project
and will now be reviewed at the weekly proposal review meetings.
— rsc for the proposal review group

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Active
Development

No branches or pull requests

4 participants