quinn-rs/quinn

Async-friendly QUIC implementation in Rust

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 34 minutes ago
Added to GitGenius on September 13th, 2026
Created on April 3rd, 2018
Open Issues & Pull Requests: 190 (+0)
GitHub issues: Enabled
Number of forks: 620
Total Stargazers: 5,257 (+0)
Total Subscribers: 62 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 4.7 hours
Mean response time: 51.9 days
90th percentile: 30.9 days
Tracked items: 207

Most active contributors

Sign in to see contributor activity.

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 69% of open issues come from outside the core team, a mix of external reports and the maintainers' own roadmap. Only 6% of issues opened in the past year have been closed. Three people close 75% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 78
New in 7 days: 1
Closed in 7 days: 3
Avg open age: 667 days
Stale 30+ days: 55
Stale 90+ days: 47

Recent activity

Opened in 7 days: 1
Closed in 7 days: 2
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (30)
  • good first issue (15)
  • help wanted (10)
  • bug (9)
  • breaking (4)
  • discussion (4)
  • question (2)
  • Hacktoberfest (1)

Detailed Description

Quinn is a pure-Rust, async-compatible implementation of the IETF QUIC transport protocol.

Quinn addresses the need for a modern, efficient transport protocol by providing a complete QUIC implementation designed for async Rust environments. QUIC improves upon TCP by offering multiplexed streams, reduced connection establishment latency, and better performance over unreliable networks. The tool works as a high-level async API built on tokio for most developers, while also exposing a deterministic, I/O-free state machine in quinn-proto for those needing custom event loops or language bindings. It includes pluggable cryptography with a standard implementation backed by rustls and ring, supports both ordered and unordered stream reads, and provides application-layer datagrams for small unreliable messages.

Quinn suits projects requiring modern transport semantics in Rust, particularly those already using async frameworks like tokio. It works on stable Rust across Linux, macOS, and Windows. The tool is appropriate for scenarios ranging from HTTP servers to peer-to-peer applications. Developers should be aware that handling high aggregate data rates on a single endpoint may require tuning UDP buffer sizes beyond platform defaults. Certificate validation is enforced by default to prevent on-path attacks, but can be customized for use cases like peer-to-peer or trust-on-first-use scenarios through rustls configuration.

The project maintains active development with regular releases and includes comprehensive testing infrastructure spanning basic benchmarks, fuzz tests, and example implementations. The codebase is organized into modular components allowing both high-level usage and low-level protocol access. Documentation is provided through a guide book and example code demonstrating common patterns like self-signed certificate generation and custom certificate validation.