pub struct IdentityCachePartition(/* private fields */);
Available on crate feature
client
only.Expand description
Cache partition key for identity caching.
Identities need cache partitioning because a single identity cache is used across multiple identity providers across multiple auth schemes. In addition, a single auth scheme may have many different identity providers due to operation-level config overrides.
This partition must be respected when retrieving from the identity cache and should be part of the cache key.
Calling IdentityCachePartition::new
will create a new globally unique cache partition key,
and the SharedIdentityResolver
will automatically create and store a partion on construction.
Thus, every configured identity resolver will be assigned a unique partition.
Implementations§
source§impl IdentityCachePartition
impl IdentityCachePartition
sourcepub fn new_for_tests(value: usize) -> IdentityCachePartition
Available on crate feature test-util
only.
pub fn new_for_tests(value: usize) -> IdentityCachePartition
test-util
only.Helper for unit tests to create an identity cache partition with a known value.
Trait Implementations§
source§impl Clone for IdentityCachePartition
impl Clone for IdentityCachePartition
source§fn clone(&self) -> IdentityCachePartition
fn clone(&self) -> IdentityCachePartition
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for IdentityCachePartition
impl Debug for IdentityCachePartition
source§impl Hash for IdentityCachePartition
impl Hash for IdentityCachePartition
source§impl Ord for IdentityCachePartition
impl Ord for IdentityCachePartition
source§fn cmp(&self, other: &IdentityCachePartition) -> Ordering
fn cmp(&self, other: &IdentityCachePartition) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl PartialEq for IdentityCachePartition
impl PartialEq for IdentityCachePartition
source§fn eq(&self, other: &IdentityCachePartition) -> bool
fn eq(&self, other: &IdentityCachePartition) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd for IdentityCachePartition
impl PartialOrd for IdentityCachePartition
source§fn partial_cmp(&self, other: &IdentityCachePartition) -> Option<Ordering>
fn partial_cmp(&self, other: &IdentityCachePartition) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moreimpl Copy for IdentityCachePartition
impl Eq for IdentityCachePartition
impl StructuralPartialEq for IdentityCachePartition
Auto Trait Implementations§
impl Freeze for IdentityCachePartition
impl RefUnwindSafe for IdentityCachePartition
impl Send for IdentityCachePartition
impl Sync for IdentityCachePartition
impl Unpin for IdentityCachePartition
impl UnwindSafe for IdentityCachePartition
Blanket Implementations§
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
source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§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<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 moreCreates a shared type from an unshared type.