pub struct KeyFetchCache { /* private fields */ }Expand description
Cache for tracking failed key fetch attempts
Uses an LRU cache to limit memory usage while providing fast lookups. Entries automatically expire based on the failure type’s TTL.
Implementations§
Source§impl KeyFetchCache
impl KeyFetchCache
Sourcepub fn check_failure(&self, issuer: &str, key_id: &str) -> Option<FailureEntry>
pub fn check_failure(&self, issuer: &str, key_id: &str) -> Option<FailureEntry>
Check if there’s a cached (non-expired) failure for this issuer/key_id
Returns Some(FailureEntry) if we should NOT retry yet Returns None if we should try fetching (no cache or expired)
Sourcepub fn record_failure(&self, issuer: &str, key_id: &str, error: &Error)
pub fn record_failure(&self, issuer: &str, key_id: &str, error: &Error)
Record a failed fetch attempt
Sourcepub fn clear_failure(&self, issuer: &str, key_id: &str)
pub fn clear_failure(&self, issuer: &str, key_id: &str)
Clear a failure entry (e.g., after successful fetch)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for KeyFetchCache
impl !RefUnwindSafe for KeyFetchCache
impl Send for KeyFetchCache
impl Sync for KeyFetchCache
impl Unpin for KeyFetchCache
impl UnsafeUnpin for KeyFetchCache
impl !UnwindSafe for KeyFetchCache
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().