Skip to main content

oxirs_vec/adaptive_intelligent_caching/
tier.rs

1//! Cache tier implementation
2
3use super::eviction::EvictionPolicy;
4use super::storage::CacheStorage;
5use super::types::AccessTracker;
6use super::types::{TierConfiguration, TierStatistics};
7
8/// Individual cache tier with specific characteristics
9#[derive(Debug)]
10pub struct CacheTier {
11    /// Tier identifier
12    #[allow(dead_code)]
13    pub(crate) tier_id: u32,
14    /// Storage implementation
15    pub(crate) storage: Box<dyn CacheStorage>,
16    /// Eviction policy
17    pub(crate) eviction_policy: Box<dyn EvictionPolicy>,
18    /// Access frequency tracker
19    pub(crate) access_tracker: AccessTracker,
20    /// Tier-specific configuration
21    pub(crate) config: TierConfiguration,
22    /// Performance statistics
23    pub(crate) stats: TierStatistics,
24}