Struct OptionsCacheLayer
pub struct OptionsCacheLayer { /* private fields */ }Available on crate features
icap and std only.Expand description
Adds bounded, per-service OPTIONS caching to a discovery service.
Refreshes are single-flight per URI, offer set, and explicit cache partition. Cancellation publishes no state, and invalidation fences older in-flight responses.
Implementations§
§impl OptionsCacheLayer
impl OptionsCacheLayer
pub const fn new() -> OptionsCacheLayer
pub const fn new() -> OptionsCacheLayer
Create an OPTIONS cache layer with RFC-preserving defaults.
pub const fn with_config(self, config: OptionsCacheConfig) -> OptionsCacheLayer
pub const fn with_config(self, config: OptionsCacheConfig) -> OptionsCacheLayer
Set explicit OPTIONS cache policy.
pub fn set_config(
&mut self,
config: OptionsCacheConfig,
) -> &mut OptionsCacheLayer
pub fn set_config( &mut self, config: OptionsCacheConfig, ) -> &mut OptionsCacheLayer
Set explicit OPTIONS cache policy.
pub const fn config(&self) -> &OptionsCacheConfig
pub const fn config(&self) -> &OptionsCacheConfig
Return cache policy.
Trait Implementations§
§impl Clone for OptionsCacheLayer
impl Clone for OptionsCacheLayer
§fn clone(&self) -> OptionsCacheLayer
fn clone(&self) -> OptionsCacheLayer
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 OptionsCacheLayer
impl Debug for OptionsCacheLayer
§impl Default for OptionsCacheLayer
impl Default for OptionsCacheLayer
§fn default() -> OptionsCacheLayer
fn default() -> OptionsCacheLayer
Returns the “default value” for a type. Read more
§impl<S> Layer<S> for OptionsCacheLayer
impl<S> Layer<S> for OptionsCacheLayer
§type Service = OptionsCache<S>
type Service = OptionsCache<S>
The service produced by the layer.
§fn layer(&self, inner: S) -> <OptionsCacheLayer as Layer<S>>::Service
fn layer(&self, inner: S) -> <OptionsCacheLayer as Layer<S>>::Service
Wrap the given service with the middleware, returning a new service.
§fn into_layer(self, inner: S) -> Self::Service
fn into_layer(self, inner: S) -> Self::Service
Same as
layer but consuming self after the service was created. Read moreAuto Trait Implementations§
impl Freeze for OptionsCacheLayer
impl RefUnwindSafe for OptionsCacheLayer
impl Send for OptionsCacheLayer
impl Sync for OptionsCacheLayer
impl Unpin for OptionsCacheLayer
impl UnsafeUnpin for OptionsCacheLayer
impl UnwindSafe for OptionsCacheLayer
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<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