quic library
A pure-Dart QUIC transport implementation.
This library exposes the core QUIC transport layer without the higher-level protocols (HTTP/3, WebTransport, or libp2p). Use it when you need direct control over endpoints, connections, streams, and scheduling.
Exports include:
- QuicEndpoint — bind to a local address and accept or initiate connections.
- QuicConnection — state machine, stream allocation, and recovery.
- UdpSocket — the underlying UDP I/O abstraction.
- ConnectionIsolate and IsolateSupervisor — per-connection isolate management.
- StreamScheduler / RoundRobinScheduler — stream scheduling policies.
- QuicVersions — supported QUIC protocol versions.
Prefer importing package:quic_lib/quic_lib.dart when you need the entire
public API (crypto, wire format, HTTP/3, WebTransport, libp2p). Import
this barrel when your application only needs the transport primitives.
See also:
quic_lib.dart— the full public API.http3.dart— HTTP/3 built on this transport.webtransport.dart— WebTransport over HTTP/3.
Classes
- BbrCongestionController
- BBR (Bottleneck Bandwidth and Round-trip propagation time) congestion controller per RFC 8382.
- CongestionController
- Abstract congestion controller interface for QUIC connections.
- ConnectionIsolate
- Manages a single QUIC connection inside its own isolate.
- CubicCongestionController
- RFC 8312 / RFC 9002 CUBIC congestion controller.
- Hystart
- Hystart++ / basic Hystart helper for early slow-start exit.
- IsolateSupervisor
- Tracks active connection isolates by connection ID.
- Multiaddr
- A self-describing network address following the libp2p multiaddr format.
- QuicConnection
- Orchestrates all subsystems of a single QUIC connection.
- QuicEndpoint
- A QUIC endpoint that listens for and initiates connections over UDP.
- QuicVersions
- QUIC version constants and helpers per RFC 9000 and RFC 9369.
- RoundRobinScheduler
- A round-robin implementation of StreamScheduler.
- StreamScheduler
- Abstract interface for selecting the next QUIC stream to process.
- UdpSocket
Enums
- BbrState
- ConnectionState
- The states of a QUIC connection lifecycle.