Struct AlternativeService
pub struct AlternativeService { /* private fields */ }Available on crate features
http and std only.Expand description
One RFC 7838 alternative service.
The optional host is absent when the alternative uses the origin host.
max_age defaults to 24 hours and persist defaults to false.
Implementations§
§impl AlternativeService
impl AlternativeService
pub fn new(
protocol: ApplicationProtocol,
port: u16,
) -> Result<AlternativeService, Box<dyn Error + Send + Sync>>
pub fn new( protocol: ApplicationProtocol, port: u16, ) -> Result<AlternativeService, Box<dyn Error + Send + Sync>>
Create an alternative on the origin host.
§Errors
Returns an error when the ALPN protocol identifier is empty or exceeds the one-octet ALPN length limit.
pub fn try_with_host(
self,
host: impl Into<Host>,
) -> Result<AlternativeService, Box<dyn Error + Send + Sync>>
pub fn try_with_host( self, host: impl Into<Host>, ) -> Result<AlternativeService, Box<dyn Error + Send + Sync>>
Try to use a different host than the origin.
An empty host is normalized to the origin host.
§Errors
Returns an error when host has no strict RFC 3986 presentation.
pub fn with_max_age_seconds(self, max_age: u64) -> AlternativeService
pub fn with_max_age_seconds(self, max_age: u64) -> AlternativeService
Set the alternative-service freshness lifetime in whole seconds.
pub fn with_persist(self, persist: bool) -> AlternativeService
pub fn with_persist(self, persist: bool) -> AlternativeService
Set whether this service may survive network changes.
pub fn protocol(&self) -> &ApplicationProtocol
pub fn protocol(&self) -> &ApplicationProtocol
Return the ALPN protocol identifier.
Trait Implementations§
§impl Clone for AlternativeService
impl Clone for AlternativeService
§fn clone(&self) -> AlternativeService
fn clone(&self) -> AlternativeService
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for AlternativeService
impl Debug for AlternativeService
impl Eq for AlternativeService
§impl From<AlternativeService> for AltSvc
impl From<AlternativeService> for AltSvc
§fn from(service: AlternativeService) -> AltSvc
fn from(service: AlternativeService) -> AltSvc
Converts to this type from the input type.
§impl PartialEq for AlternativeService
impl PartialEq for AlternativeService
impl StructuralPartialEq for AlternativeService
Auto Trait Implementations§
impl !Freeze for AlternativeService
impl RefUnwindSafe for AlternativeService
impl Send for AlternativeService
impl Sync for AlternativeService
impl Unpin for AlternativeService
impl UnsafeUnpin for AlternativeService
impl UnwindSafe for AlternativeService
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
Mutably borrows from an owned value. Read more
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§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> ⓘ
Converts
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> ⓘ
Converts
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>
Wrap the input message
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>
Create a new
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more