use std::path::PathBuf;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum SyncMode {
GroupSync { interval_ms: u32 },
}
impl Default for SyncMode {
fn default() -> Self {
Self::GroupSync { interval_ms: 50 }
}
}
#[derive(Debug, Clone, Default)]
pub enum WalConfig {
#[default]
Disabled,
Enabled {
dir: PathBuf,
sync_mode: SyncMode,
segment_target_bytes: u64,
},
}
impl WalConfig {
pub fn enabled(dir: impl Into<PathBuf>) -> Self {
Self::Enabled {
dir: dir.into(),
sync_mode: SyncMode::default(),
segment_target_bytes: 8 * 1024 * 1024,
}
}
}