pub struct ClientQuicConfig { /* private fields */ }Expand description
Client-side QUIC configuration for HTTP/3, backed by quinn.
This is a thin factory that creates QuinnEndpoints bound to local addresses.
The resulting endpoints can both accept and initiate QUIC connections.
§Construction
use trillium_tokio::ClientConfig;
use trillium_quinn::ClientQuicConfig;
let client = trillium_client::Client::new_with_quic(
ClientConfig::default(),
ClientQuicConfig::with_webpki_roots(),
);Implementations§
Source§impl ClientQuicConfig
impl ClientQuicConfig
Sourcepub fn from_rustls_client_config(tls: ClientConfig) -> Self
pub fn from_rustls_client_config(tls: ClientConfig) -> Self
Build from a pre-built rustls::ClientConfig.
h3 ALPN is added automatically if not already present.
Sourcepub fn from_quinn_client_config(config: ClientConfig) -> Self
pub fn from_quinn_client_config(config: ClientConfig) -> Self
Build from a pre-built quinn::ClientConfig.
Use this when you need full control over transport parameters or TLS. The caller is
responsible for including h3 in ALPN protocols. Per-connection ALPN override (used by
DNS-over-QUIC) is unavailable on configs built this way — there is no rustls config to
derive an alternate-ALPN config from.
Sourcepub fn with_transport_config(self, transport: Arc<TransportConfig>) -> Self
pub fn with_transport_config(self, transport: Arc<TransportConfig>) -> Self
Override the quinn TransportConfig governing flow-control
windows, congestion control, GSO, and related transport parameters.
Composes with any of the from_* constructors — construct with TLS credentials, then call
this to replace quinn’s default transport configuration. The mirror of
QuicConfig::with_transport_config on the
client side.