cloudflare / cloudflare/quiche
Creation of lower-numbered streams
- Dominant language
- Rust
- Stars
- 11.8k
- Forks
- 1.1k
- Avg merge
- 3d 7h
- Merged PRs (30d)
- 16
Description
RFC 9000 states that,
> A stream ID that is used out of order results in all streams of that type with lower-numbered stream IDs also being opened.
I noticed that `quiche` does not create lower-numbered `Stream`s when handling stream IDs that are out of order. Was this on purpose or should this be fixed? I did notice that `StreamMap.get_or_create` does take into account lower-numbered stream IDs when enforcing stream limits but other methods like, `Connection.stream_init_application_data`, `StreamMap.get` or `StreamMap.get_mut` will not know of streams that should exist.
Contributor guide
Research direction
Start with RFC 9000's out-of-order stream ID rule and inspect StreamMap.get_or_create, StreamMap.get, StreamMap.get_mut, and Connection.stream_init_application_data. Trace how stream limits and stream lookup represent lower-numbered streams, then determine whether the current behavior is intentional; done means the implementation consistently reflects the RFC decision.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100