pub trait CacheEvictionPolicy: Send + Sync {
// Required methods
fn select_eviction_candidates(
&self,
required_memory: usize,
active_caches: &[(RequestId, Arc<dyn KvCacheHandle>)],
) -> Vec<RequestId>;
fn record_access(&mut self, request_id: RequestId, access_time: Instant);
fn name(&self) -> &str;
}Expand description
Cache eviction strategies
Required Methods§
Sourcefn select_eviction_candidates(
&self,
required_memory: usize,
active_caches: &[(RequestId, Arc<dyn KvCacheHandle>)],
) -> Vec<RequestId>
fn select_eviction_candidates( &self, required_memory: usize, active_caches: &[(RequestId, Arc<dyn KvCacheHandle>)], ) -> Vec<RequestId>
Select caches to evict to free requested memory
Sourcefn record_access(&mut self, request_id: RequestId, access_time: Instant)
fn record_access(&mut self, request_id: RequestId, access_time: Instant)
Update cache access information