quic: rethink connected / disconnected
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 6.9k
- Forks
- 1.3k
- Avg merge
- 13d 21h
- Merged PRs (30d)
- 1
Description
We should rethink how we treat QUIC connections. Our current connection model assumes a clear separation between the two states "Connected" and "Disconnected".
QUIC has two interesting properties that dilute this distinction:
1. It's really cheap to keep a QUIC connection alive. The memory overhead is quite small (and has gotten even smaller with recent quic-go releases). We can also reduce the keep-alive frequency to further bring down the computational cost of a QUIC connection.
2. QUIC allows 0-RTT. For the application it doesn't matter that much if we still have a live QUIC connection or if we can just 0-RTT a new connection (at least for replay-safe requests).
Contributor guide
No contributing guide indexed for this repository
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
No files, tests, or entry points are named. Start by tracing the existing Connected and Disconnected state model and its QUIC connection lifecycle, then review how live connections, keep-alives, and 0-RTT are handled. The issue needs a decided replacement model and acceptance criteria before completion can be determined.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- networking
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100