Module priority_eviction

Module priority_eviction 

Source
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§

ContentPriority
Content priority factors
EvictionConfig
Configuration for priority-based eviction
EvictionStats
Statistics for eviction operations
PriorityEvictor
Priority-based content evictor