Skip to main content

Crate grpc_quic

Crate grpc_quic 

Source
Expand description

§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-quic does not change gRPC semantics.
  • grpc-quic only 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.

Re-exports§

pub use grpc_quic_client as client;
pub use grpc_quic_server as server;
pub use grpc_quic_transport as transport;