Expand description
Priority-based content eviction.
This module provides intelligent content eviction based on priority scores, combining multiple factors such as access frequency, size, revenue potential, and manual priority levels to make optimal eviction decisions.
§Features
- Multi-factor priority scoring
- Weighted priority components
- Adaptive eviction based on resource pressure
- Revenue-aware eviction for monetization
- Custom priority calculators
- Eviction history tracking
§Example
use chie_core::priority_eviction::{PriorityEvictor, EvictionConfig, ContentPriority};
let config = EvictionConfig::default();
let mut evictor = PriorityEvictor::new(config);
// Add content with priorities
evictor.add_content("content:1".to_string(), ContentPriority {
manual_priority: 5,
access_frequency: 10.0,
size_bytes: 1024,
revenue_per_gb: 5.0,
last_access_age_secs: 3600,
});
// Get candidates for eviction
let candidates = evictor.get_eviction_candidates(1024 * 1024);
println!("Eviction candidates: {:?}", candidates);Structs§
- Content
Priority - Content priority factors
- Eviction
Config - Configuration for priority-based eviction
- Eviction
Stats - Statistics for eviction operations
- Priority
Evictor - Priority-based content evictor