pub struct ExactCache { /* private fields */ }Expand description
Tier 1: Exact cache lookup.
Implementations§
Source§impl ExactCache
impl ExactCache
pub fn new() -> Self
Sourcepub fn load_from(&self, records: Vec<DecisionRecord>)
pub fn load_from(&self, records: Vec<DecisionRecord>)
Load cache from stored decisions.
Sourcepub fn insert(&self, record: DecisionRecord)
pub fn insert(&self, record: DecisionRecord)
Insert or update a cache entry.
Sourcepub fn invalidate_role(&self, role: &str)
pub fn invalidate_role(&self, role: &str)
Remove all entries for a specific role.
Sourcepub fn invalidate_all(&self)
pub fn invalidate_all(&self)
Remove all entries.
Sourcepub fn stats(&self) -> CacheStats
pub fn stats(&self) -> CacheStats
Get cache statistics.
Trait Implementations§
Source§impl CascadeTier for ExactCache
impl CascadeTier for ExactCache
Source§fn evaluate<'life0, 'life1, 'async_trait>(
&'life0 self,
input: &'life1 CascadeInput,
) -> Pin<Box<dyn Future<Output = Result<Option<DecisionRecord>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn evaluate<'life0, 'life1, 'async_trait>(
&'life0 self,
input: &'life1 CascadeInput,
) -> Pin<Box<dyn Future<Output = Result<Option<DecisionRecord>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Evaluate this tier. Returns Some(record) if the tier can make a decision,
None if it should fall through to the next tier.
Source§fn tier(&self) -> DecisionTier
fn tier(&self) -> DecisionTier
The tier identifier.
Auto Trait Implementations§
impl !Freeze for ExactCache
impl RefUnwindSafe for ExactCache
impl Send for ExactCache
impl Sync for ExactCache
impl Unpin for ExactCache
impl UnwindSafe for ExactCache
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> 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<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
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().