Skip to main content

LegSetup

Struct LegSetup 

Source
pub(crate) struct LegSetup {
    pub(crate) client_installer: Option<Arc<dyn TransportInstaller>>,
    pub(crate) upstream_installer: Option<Arc<dyn TransportInstaller>>,
    pub(crate) upstream_webtransport: bool,
}
Expand description

What the control plane knows about the two legs from the configuration the proxy was built with, and cannot learn any other way.

Copied out of the proxy’s templates when the plane is built rather than read back from them on demand, because a handle is reachable from tasks that do not hold the proxy.

Fields§

§client_installer: Option<Arc<dyn TransportInstaller>>

How a client-leg TransportProfile becomes the config the listener installs.

§upstream_installer: Option<Arc<dyn TransportInstaller>>

The same for the relay leg.

§upstream_webtransport: bool

Whether the relay leg is a WebTransport upstream, which cannot take transport parameters at all.

Implementations§

Source§

impl LegSetup

Source

fn from_config(config: &ProxyConfig) -> Self

What the control plane needs to know about the two legs, read off the configuration the proxy is being built with.

The installers are shared rather than copied, so a live TransportProfile is built by the same installer a configured one would have been.

Trait Implementations§

Source§

impl Default for LegSetup

Source§

fn default() -> LegSetup

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 = !

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

fn try_from(value: U) -> Result<T, !>

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