Struct HttpServiceLayer
pub struct HttpServiceLayer { /* private fields */ }http and std only.Expand description
HTTP service discovery and bounded connection-selection policy.
Implementations§
§impl HttpServiceLayer
impl HttpServiceLayer
pub fn new() -> HttpServiceLayer
pub fn maybe_with_cache(self, cache: Option<AltSvcCache>) -> HttpServiceLayer
pub fn maybe_with_cache(self, cache: Option<AltSvcCache>) -> HttpServiceLayer
Share cached candidates and HTTP/2 frame learning; None disables both.
Response observation is composed separately with AltSvcLayer.
pub fn maybe_set_cache(
&mut self,
cache: Option<AltSvcCache>,
) -> &mut HttpServiceLayer
pub fn maybe_set_cache( &mut self, cache: Option<AltSvcCache>, ) -> &mut HttpServiceLayer
Share cached candidates and HTTP/2 frame learning; None disables both.
Response observation is composed separately with AltSvcLayer.
pub fn with_cache(self, cache: AltSvcCache) -> HttpServiceLayer
pub fn with_cache(self, cache: AltSvcCache) -> HttpServiceLayer
Share cached candidates and HTTP/2 frame learning; None disables both.
Response observation is composed separately with AltSvcLayer.
pub fn set_cache(&mut self, cache: AltSvcCache) -> &mut HttpServiceLayer
pub fn set_cache(&mut self, cache: AltSvcCache) -> &mut HttpServiceLayer
Share cached candidates and HTTP/2 frame learning; None disables both.
Response observation is composed separately with AltSvcLayer.
pub fn without_cache(self) -> HttpServiceLayer
pub fn without_cache(self) -> HttpServiceLayer
Share cached candidates and HTTP/2 frame learning; None disables both.
Response observation is composed separately with AltSvcLayer.
pub fn unset_cache(&mut self) -> &mut HttpServiceLayer
pub fn unset_cache(&mut self) -> &mut HttpServiceLayer
Share cached candidates and HTTP/2 frame learning; None disables both.
Response observation is composed separately with AltSvcLayer.
pub fn with_attempt_timeout(self, timeout: Duration) -> HttpServiceLayer
pub fn with_attempt_timeout(self, timeout: Duration) -> HttpServiceLayer
Bound one alternative connection attempt, including DNS and handshakes.
Defaults to 300 ms to bound sequential speculation before origin fallback. Increase this for high-latency paths; this connector does not race the origin.
pub fn set_attempt_timeout(
&mut self,
timeout: Duration,
) -> &mut HttpServiceLayer
pub fn set_attempt_timeout( &mut self, timeout: Duration, ) -> &mut HttpServiceLayer
Bound one alternative connection attempt, including DNS and handshakes.
Defaults to 300 ms to bound sequential speculation before origin fallback. Increase this for high-latency paths; this connector does not race the origin.
pub fn maybe_with_timeout(self, timeout: Option<Duration>) -> HttpServiceLayer
pub fn maybe_with_timeout(self, timeout: Option<Duration>) -> HttpServiceLayer
Bound the entire connection-selection operation, including fallback. Disabled by default; the caller’s transport deadlines remain authoritative.
pub fn maybe_set_timeout(
&mut self,
timeout: Option<Duration>,
) -> &mut HttpServiceLayer
pub fn maybe_set_timeout( &mut self, timeout: Option<Duration>, ) -> &mut HttpServiceLayer
Bound the entire connection-selection operation, including fallback. Disabled by default; the caller’s transport deadlines remain authoritative.
pub fn with_timeout(self, timeout: Duration) -> HttpServiceLayer
pub fn with_timeout(self, timeout: Duration) -> HttpServiceLayer
Bound the entire connection-selection operation, including fallback. Disabled by default; the caller’s transport deadlines remain authoritative.
pub fn set_timeout(&mut self, timeout: Duration) -> &mut HttpServiceLayer
pub fn set_timeout(&mut self, timeout: Duration) -> &mut HttpServiceLayer
Bound the entire connection-selection operation, including fallback. Disabled by default; the caller’s transport deadlines remain authoritative.
pub fn without_timeout(self) -> HttpServiceLayer
pub fn without_timeout(self) -> HttpServiceLayer
Bound the entire connection-selection operation, including fallback. Disabled by default; the caller’s transport deadlines remain authoritative.
pub fn unset_timeout(&mut self) -> &mut HttpServiceLayer
pub fn unset_timeout(&mut self) -> &mut HttpServiceLayer
Bound the entire connection-selection operation, including fallback. Disabled by default; the caller’s transport deadlines remain authoritative.
pub fn with_max_candidates(self, count: usize) -> HttpServiceLayer
pub fn with_max_candidates(self, count: usize) -> HttpServiceLayer
Bound inspected candidates, including unknown or unsupported protocols.
Defaults to 16, matching the cache’s default advertisement capacity.
Zero bypasses alternatives. Local capability refusals do not consume
max_attempts, so this separately bounds caller-supplied candidate lists.
pub fn set_max_candidates(&mut self, count: usize) -> &mut HttpServiceLayer
pub fn set_max_candidates(&mut self, count: usize) -> &mut HttpServiceLayer
Bound inspected candidates, including unknown or unsupported protocols.
Defaults to 16, matching the cache’s default advertisement capacity.
Zero bypasses alternatives. Local capability refusals do not consume
max_attempts, so this separately bounds caller-supplied candidate lists.
pub fn with_max_attempts(self, count: usize) -> HttpServiceLayer
pub fn with_max_attempts(self, count: usize) -> HttpServiceLayer
Bound connection attempts, reserving one for ordinary origin fallback. Zero rejects the operation without invoking the inner connector.
pub fn set_max_attempts(&mut self, count: usize) -> &mut HttpServiceLayer
pub fn set_max_attempts(&mut self, count: usize) -> &mut HttpServiceLayer
Bound connection attempts, reserving one for ordinary origin fallback. Zero rejects the operation without invoking the inner connector.
Trait Implementations§
§impl Clone for HttpServiceLayer
impl Clone for HttpServiceLayer
§fn clone(&self) -> HttpServiceLayer
fn clone(&self) -> HttpServiceLayer
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 HttpServiceLayer
impl Debug for HttpServiceLayer
§impl Default for HttpServiceLayer
impl Default for HttpServiceLayer
§fn default() -> HttpServiceLayer
fn default() -> HttpServiceLayer
§impl<S> Layer<S> for HttpServiceLayer
impl<S> Layer<S> for HttpServiceLayer
§type Service = HttpServiceConnector<S>
type Service = HttpServiceConnector<S>
§fn layer(&self, inner: S) -> <HttpServiceLayer as Layer<S>>::Service
fn layer(&self, inner: S) -> <HttpServiceLayer 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 HttpServiceLayer
impl !UnwindSafe for HttpServiceLayer
impl Freeze for HttpServiceLayer
impl Send for HttpServiceLayer
impl Sync for HttpServiceLayer
impl Unpin for HttpServiceLayer
impl UnsafeUnpin for HttpServiceLayer
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