use std::time::{Duration, SystemTime};
#[derive(Debug, Clone, Copy)]
pub enum CompactionTask {
ByRunCount,
BySize,
ByAge,
}
#[derive(Debug, Clone, Default)]
pub struct CompactionStats {
pub files_compacted: usize,
pub bytes_before: u64,
pub bytes_after: u64,
pub duration: Duration,
pub crdt_merges: usize,
}
#[derive(Debug, Clone, Default)]
pub struct CompactionStatus {
pub l1_runs: usize,
pub l1_size_bytes: u64,
pub oldest_l1_age: Duration,
pub compaction_in_progress: bool,
pub compaction_pending: usize,
pub last_compaction: Option<SystemTime>,
pub total_compactions: u64,
pub total_bytes_compacted: u64,
}