Document how hyper is using UpgradedSendStream safely
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 16.3k
- Forks
- 1.8k
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 14
Description
Is your feature request related to a problem? Please describe.
On Fuchsia, we are updating our vendored version of Hyper from 0.13 to 0.14 in https://fuchsia-review.googlesource.com/c/fuchsia/+/611683/. As part of this we are reviewing the hyper change. One portion of the codebase we are struggling with is src/proto/h2. In #2523, @nox introduced the unsafe UpgradedSendStream and Neutered, and it's not straightforward what it does, and how we know hyper is using it correctly.
Describe the solution you'd like
There's a nice discussion though in #2523 that gives some context. It would be helpful if a version of this discussion was added to the code. That would make it easier to review vendored code.
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 by reading the code under src/proto/h2 and the discussion in #2523, especially the context around UpgradedSendStream and Neutered. Document why the unsafe code is needed and how Hyper uses it safely, so reviewers of vendored Hyper can understand the rationale and correct usage from the code.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100