Skip to main content

s3s_http3/
lib.rs

1// SPDX-License-Identifier: Apache-2.0
2// SPDX-FileCopyrightText: 2023-2026 The s3s Authors
3
4#![deny(missing_docs)]
5
6//! Experimental server-side HTTP/3 transport for [`s3s`].
7//!
8//! This crate adapts an existing [`s3s::service::S3Service`] to a configured
9//! Quinn QUIC endpoint. Request and response bodies are streamed without
10//! buffering objects in the adapter.
11//!
12//! # TLS and networking
13//!
14//! The supplied [`Endpoint`] must use QUIC TLS 1.3 with the `h3` ALPN
15//! protocol. Certificate management is intentionally left to the caller.
16//! The endpoint must be reachable over UDP, including through firewalls,
17//! load balancers, and NAT configuration.
18//!
19//! # Client compatibility
20//!
21//! Clients must support HTTP/3 over QUIC. This crate is server-side only and
22//! does not provide HTTP/3 clients, 0-RTT, datagrams, or WebTransport.
23//!
24//! # Stability
25//!
26//! The API is experimental and may change while the HTTP/3 ecosystem evolves.
27//! HTTP/3 remains opt-in; existing `s3s` services and binaries are unaffected.
28
29mod body;
30mod server;
31
32pub use quinn::Endpoint;
33pub use server::{DEFAULT_SHUTDOWN_TIMEOUT, serve};