grpc-quic
A custom QUIC transport implementation for tonic gRPC.
Overview
grpc-quic replaces the default HTTP/TCP transport with QUIC streams
while preserving full gRPC semantics, protobuf encoding, and tonic service
abstractions. All RPC data is transmitted as opaque gRPC-encoded bytes over
QUIC streams secured by TLS 1.3.
tonic (RPC layer: service traits + protobuf codec)
↓
grpc-quic (tower::Service transport adapter)
↓
quinn (QUIC bi-directional streams, 1 stream = 1 RPC call)
↓
UDP + TLS 1.3 (rustls)
Key design principles
grpc-quicdoes not change gRPC semantics.grpc-quiconly replaces the transport layer (TCP → QUIC).- tonic / prost remain fully intact as the RPC layer.
Quick start
See the examples/ directory for unary, client-streaming, server-streaming,
and bidirectional-streaming demos.