pub struct TtlLifecycle<L = DefaultLifecycle> { /* private fields */ }Expand description
Lifecycle decorator that evicts entries by Ttl::remaining.
on_eviction is forwarded to the inner Lifecycle.
evaluate is forwarded only when the value is still fresh.
Wrap any other Lifecycle to combine TTL with custom eviction policies.
Implementations§
Source§impl<L> TtlLifecycle<L>
impl<L> TtlLifecycle<L>
pub fn with_inner(inner: L) -> Self
Trait Implementations§
Source§impl<L: Clone> Clone for TtlLifecycle<L>
impl<L: Clone> Clone for TtlLifecycle<L>
Source§fn clone(&self) -> TtlLifecycle<L>
fn clone(&self) -> TtlLifecycle<L>
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 moreSource§impl<L: Debug> Debug for TtlLifecycle<L>
impl<L: Debug> Debug for TtlLifecycle<L>
Source§impl<L: Default> Default for TtlLifecycle<L>
impl<L: Default> Default for TtlLifecycle<L>
Source§fn default() -> TtlLifecycle<L>
fn default() -> TtlLifecycle<L>
Returns the “default value” for a type. Read more
Source§impl<K, V, L> Lifecycle<K, V> for TtlLifecycle<L>
impl<K, V, L> Lifecycle<K, V> for TtlLifecycle<L>
Source§fn on_eviction(&mut self, key: K, value: V)
fn on_eviction(&mut self, key: K, value: V)
Called when an entry has been evicted from the cache. Receives ownership
of the key and value so they can be forwarded or dropped.
Source§fn evaluate(&self, key: &K, value: &V) -> EntryStatus
fn evaluate(&self, key: &K, value: &V) -> EntryStatus
Inspect an existing entry and decide whether it should remain in the
cache. Called as the sieve hand passes over entries during
Cache::put.impl<L: Copy> Copy for TtlLifecycle<L>
Auto Trait Implementations§
impl<L> Freeze for TtlLifecycle<L>where
L: Freeze,
impl<L> RefUnwindSafe for TtlLifecycle<L>where
L: RefUnwindSafe,
impl<L> Send for TtlLifecycle<L>where
L: Send,
impl<L> Sync for TtlLifecycle<L>where
L: Sync,
impl<L> Unpin for TtlLifecycle<L>where
L: Unpin,
impl<L> UnsafeUnpin for TtlLifecycle<L>where
L: UnsafeUnpin,
impl<L> UnwindSafe for TtlLifecycle<L>where
L: UnwindSafe,
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