Skip to main content

ClientQuicConfig

Struct ClientQuicConfig 

Source
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

Source

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.

Source

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.

Trait Implementations§

Source§

impl Debug for ClientQuicConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<C> QuicClientConfig<C> for ClientQuicConfig
where C: Connector, C::Runtime: Unpin, C::Udp: SocketTransport,

Source§

type Endpoint = QuinnEndpoint

The endpoint type produced by bind.
Source§

fn bind(&self, addr: SocketAddr, runtime: &C::Runtime) -> Result<Self::Endpoint>

Bind a QUIC endpoint to the given local address. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CompatExt for T

Source§

fn compat(self) -> Compat<T>

Applies the Compat adapter by value. Read more
Source§

fn compat_ref(&self) -> Compat<&T>

Applies the Compat adapter by shared reference. Read more
Source§

fn compat_mut(&mut self) -> Compat<&mut T>

Applies the Compat adapter by mutable reference. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more