Increasing window_size above initial_window_size
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 1.6k
- Forks
- 382
- Avg merge
- 20h 23m
- Merged PRs (30d)
- 9
Description
In the current state of things, the receiver is expected to release capacity using FlowControl::release_capacity. The doc clearly says that increasing the window size above target window size results in an error.
However, I was not able to find such restriction by looking at the RFC Chapter 6.9 WINDOW_UPDATE. The RFC only says that stream-level window size can be changed using SETTINGS_INITIAL_WINDOW_SIZE frame, and that every modification of this value must be applied to active streams as well. For connection-level capacity, it must be increased using WINDOW_UPDATE frames.
I was wondering if we should expose an API to allow this for stream-level window size as well, or modify the existing FlowControl::release_capacity to allow the value going above the target. I am looking for a way to tweak stream-level window size dynamically for particular stream, without impacting all other streams.
What is your opinion on this?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the FlowControl::release_capacity API and its documentation, then compare its behavior with RFC 7540 Section 6.9 and SETTINGS_INITIAL_WINDOW_SIZE. The issue does not identify implementation files or tests; done would require deciding and specifying whether per-stream dynamic window increases are supported and what API behavior should result.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100