Struct PoolPartition
pub struct PoolPartition(/* private fields */);Available on crate feature
net only.Expand description
An optional application partition of a connection pool’s normal route identity.
Install this on connection input before pool lookup when connections created without an application capability must remain separate from those carrying it. The default network and HTTP identifiers include it. Custom identifiers must include it as well when they serve partitioned requests.
Connection reuse policies still choose compatible connections within a partition. No partition is allocated for ordinary, unpartitioned input.
Implementations§
§impl PoolPartition
impl PoolPartition
pub fn new(key: ReuseKey) -> PoolPartition
pub fn new(key: ReuseKey) -> PoolPartition
Partition by an exact key in the application’s chosen namespace.
pub fn of<T>() -> PoolPartitionwhere
T: 'static + ?Sized,
pub fn of<T>() -> PoolPartitionwhere
T: 'static + ?Sized,
Partition by a type, without allocating a key.
pub fn and(&self, other: &PoolPartition) -> PoolPartition
pub fn and(&self, other: &PoolPartition) -> PoolPartition
Preserve this partition and add another application requirement. Adding a requirement already present is idempotent.
Trait Implementations§
§impl Clone for PoolPartition
impl Clone for PoolPartition
§fn clone(&self) -> PoolPartition
fn clone(&self) -> PoolPartition
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 PoolPartition
impl Debug for PoolPartition
impl Eq for PoolPartition
impl Extension for PoolPartition
§impl Hash for PoolPartition
impl Hash for PoolPartition
impl NetExtension for PoolPartition
§impl PartialEq for PoolPartition
impl PartialEq for PoolPartition
impl StructuralPartialEq for PoolPartition
Auto Trait Implementations§
impl !RefUnwindSafe for PoolPartition
impl !UnwindSafe for PoolPartition
impl Freeze for PoolPartition
impl Send for PoolPartition
impl Sync for PoolPartition
impl Unpin for PoolPartition
impl UnsafeUnpin for PoolPartition
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