#[non_exhaustive]pub struct LruPolicy {
pub promote_threshold: u32,
}Expand description
LRU eviction policy with frequency-based promotion.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.promote_threshold: u32Minimum access frequency required for promotion.
Implementations§
Trait Implementations§
Source§impl TierPolicy for LruPolicy
impl TierPolicy for LruPolicy
Source§fn should_promote(&self, _key: u64, stats: &AccessStats) -> bool
fn should_promote(&self, _key: u64, stats: &AccessStats) -> bool
Return
true if the entry should be promoted to a faster tier.Source§fn eviction_candidate(
&self,
_tier: usize,
entries: &FxHashMap<u64, CacheEntry>,
tracker: &AccessTracker,
) -> Option<u64>
fn eviction_candidate( &self, _tier: usize, entries: &FxHashMap<u64, CacheEntry>, tracker: &AccessTracker, ) -> Option<u64>
Select a candidate for eviction from the given tier.
Auto Trait Implementations§
impl Freeze for LruPolicy
impl RefUnwindSafe for LruPolicy
impl Send for LruPolicy
impl Sync for LruPolicy
impl Unpin for LruPolicy
impl UnsafeUnpin for LruPolicy
impl UnwindSafe for LruPolicy
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