Struct ConnectionReuse
pub struct ConnectionReuse { /* private fields */ }net only.Expand description
Reuse requirements published by a connector on its established connection.
Without this extension, the pool’s connection identifier determines reuse.
Connectors whose policy varies by request must publish their requirements.
Layered transports can combine requirements once with Self::and.
Implementations§
§impl ConnectionReuse
impl ConnectionReuse
pub fn new(policy: impl ConnectionReusePolicy) -> ConnectionReuse
pub fn new(policy: impl ConnectionReusePolicy) -> ConnectionReuse
Publish the complete reuse policy for the requested endpoint.
This describes policy compatibility, not peer authentication. Transport
layers which cover only an intermediary must use Self::restriction.
pub fn restriction(policy: impl ConnectionReusePolicy) -> ConnectionReuse
pub fn restriction(policy: impl ConnectionReusePolicy) -> ConnectionReuse
Publish an additional transport restriction without certifying the requested endpoint’s complete policy, such as TLS to an intermediary.
pub fn is_complete(&self) -> bool
pub fn is_complete(&self) -> bool
Whether a connector has published the requested endpoint’s complete policy.
pub fn into_restriction(self) -> ConnectionReuse
pub fn into_restriction(self) -> ConnectionReuse
Preserve the requirements while limiting them to an inner transport.
A tunnel layer must apply this to its combined inner requirements before passing the connection to the requested endpoint’s connector.
pub fn is_reusable(&self) -> bool
pub fn is_reusable(&self) -> bool
Whether the established connection may be retained for later requests.
pub fn matches(&self, input: &Extensions) -> bool
pub fn matches(&self, input: &Extensions) -> bool
Check the request against the established connection’s requirements.
pub fn and(self, other: ConnectionReuse) -> ConnectionReuse
pub fn and(self, other: ConnectionReuse) -> ConnectionReuse
Require both transport layers to accept reuse of the connection.
Trait Implementations§
§impl Clone for ConnectionReuse
impl Clone for ConnectionReuse
§fn clone(&self) -> ConnectionReuse
fn clone(&self) -> ConnectionReuse
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 ConnectionReuse
impl Debug for ConnectionReuse
impl Extension for ConnectionReuse
Auto Trait Implementations§
impl !RefUnwindSafe for ConnectionReuse
impl !UnwindSafe for ConnectionReuse
impl Freeze for ConnectionReuse
impl Send for ConnectionReuse
impl Sync for ConnectionReuse
impl Unpin for ConnectionReuse
impl UnsafeUnpin for ConnectionReuse
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