Skip to main content

ProxySessionConfig

Struct ProxySessionConfig 

Source
pub struct ProxySessionConfig {
    pub draft: DraftVersion,
    pub upstream_transport: UpstreamTransportType,
    pub upstream_addr: String,
    pub skip_upstream_cert_verify: bool,
    pub upstream_ca_certs: Vec<Vec<u8>>,
    pub upstream_connect_timeout_secs: u64,
}
Expand description

Configuration for a proxy session’s upstream connection.

Fields§

§draft: DraftVersion

The MoQT draft version to use for parsing.

§upstream_transport: UpstreamTransportType

The transport type to use for the upstream connection.

§upstream_addr: String

Upstream relay address (e.g., "192.168.1.10:4443" for QUIC).

§skip_upstream_cert_verify: bool

Whether to skip TLS verification for the upstream connection.

§upstream_ca_certs: Vec<Vec<u8>>

Custom CA certificates for the upstream connection (DER-encoded).

§upstream_connect_timeout_secs: u64

Timeout in seconds for the upstream connection attempt. 0 means no timeout.

Implementations§

Source§

impl ProxySessionConfig

Source

pub fn upstream_alpn(&self, client_alpn: &[u8]) -> Vec<Vec<u8>>

Returns the ALPN protocol identifiers for the upstream connection.

For QUIC upstreams, mirrors the negotiated client ALPN so we connect to the relay with the same protocol the client is speaking. Falls back to self.draft.quic_alpn() if the client ALPN is empty (e.g., the listener didn’t capture it).

Trait Implementations§

Source§

impl Default for ProxySessionConfig

Source§

fn default() -> Self

Returns the “default value” for a type. 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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

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

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

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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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