Struct AltSvcLayer
pub struct AltSvcLayer { /* private fields */ }http and std only.Expand description
Observe alternative services on an HTTP request service.
Configure once with a shared cache. Every call resolves its own logical origin
and reads the actual connection’s EstablishedHttpService and authentication
metadata. A selector may supply HttpServiceSelection on the request; no
particular selector implementation is required.
HTTPS advertisements can update shared discovery only when the connection
authenticated this origin under ConnectionPolicyScope::Connector.
Request-specific trust never changes the configured cache or other requests’
discovery state. Plaintext advertisements remain hints (RFC 8164).
Remote failures are recognized as ConnectionError, directly or inside
BoxError. Other error types pass through without changing shared backoff;
custom services can box classified source chains to participate.
Implementations§
§impl AltSvcLayer
impl AltSvcLayer
pub fn new(cache: AltSvcCache) -> AltSvcLayer
pub fn new(cache: AltSvcCache) -> AltSvcLayer
Share discovery state with a selector or another HTTP client.
Trait Implementations§
§impl Clone for AltSvcLayer
impl Clone for AltSvcLayer
§fn clone(&self) -> AltSvcLayer
fn clone(&self) -> AltSvcLayer
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for AltSvcLayer
impl Debug for AltSvcLayer
§impl<S> Layer<S> for AltSvcLayer
impl<S> Layer<S> for AltSvcLayer
§fn layer(&self, inner: S) -> <AltSvcLayer as Layer<S>>::Service
fn layer(&self, inner: S) -> <AltSvcLayer as Layer<S>>::Service
§fn into_layer(self, inner: S) -> Self::Service
fn into_layer(self, inner: S) -> Self::Service
layer but consuming self after the service was created. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for AltSvcLayer
impl !UnwindSafe for AltSvcLayer
impl Freeze for AltSvcLayer
impl Send for AltSvcLayer
impl Sync for AltSvcLayer
impl Unpin for AltSvcLayer
impl UnsafeUnpin for AltSvcLayer
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more