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

Setting initial flow-control limits for individual stream types #3897

Closed
rzikm opened this issue Oct 5, 2023 · 2 comments · Fixed by #3948
Closed

Setting initial flow-control limits for individual stream types #3897

rzikm opened this issue Oct 5, 2023 · 2 comments · Fixed by #3948
Assignees
Labels
Area: API Area: Core Related to the shared, core protocol logic Area: Protocol Updates Changes for new protocol changes feature request A request for new functionality Partner: .NET By or For the .NET team
Milestone

Comments

@rzikm
Copy link
Member

rzikm commented Oct 5, 2023

Describe the feature you'd like supported

We are considering exposing more QUIC configuration options from .NET side, and I notice that MsQuic exposes only one option for setting initial stream max_data (which applies to all 3 types). Was there a specific reason behind this choice?

We would like to expose limits for all three types (unidirectional, remotely/locally initiated bidirectional) limits to be in line with other QUIC implementations.

Proposed solution

Since there already is QUIC_SETTINGS.StreamRecvWindowDefault which covers all three stream types, the only proposal I came up with is adding the new values as separate options and have a precedence-fallback relationship between them. E.g. if QUIC_SETTINGS.UnidiStreamRecvWindowDefault is set, than it takes precedence over the potential value set in QUIC_SETTINGS.StreamRecvWindowDefault.

Additional context

If approved, I am willing to contribute the change. Just tell me upfront if you have preferences about option naming.

@rzikm rzikm added the feature request A request for new functionality label Oct 5, 2023
@nibanks nibanks added this to the Release 2.4 milestone Oct 5, 2023
@nibanks nibanks added Area: Protocol Updates Changes for new protocol changes Area: API Area: Core Related to the shared, core protocol logic labels Oct 5, 2023
@nibanks
Copy link
Member

nibanks commented Oct 5, 2023

We just never had any reason to expose them individually before. I'm curious if you have an actual ask from someone to do so?

@rzikm
Copy link
Member Author

rzikm commented Oct 6, 2023

we don't have a request specifically for separate limits for individual stream types, but ASP.NET requested adding more connection options to allow them get HTTP/3 configuration more on par with HTTP/2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: API Area: Core Related to the shared, core protocol logic Area: Protocol Updates Changes for new protocol changes feature request A request for new functionality Partner: .NET By or For the .NET team
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants