cloudflare / cloudflare/quiche

Creation of lower-numbered streams

Open
#1,251 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.