#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum Durability {
Async,
Sync,
}
impl Durability {
pub const fn is_sync(self) -> bool {
matches!(self, Durability::Sync)
}
}
impl std::str::FromStr for Durability {
type Err = String;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
match s {
"async" | "Async" => Ok(Durability::Async),
"sync" | "Sync" => Ok(Durability::Sync),
_ => Err(format!(
"unknown durability '{s}'; expected 'async' or 'sync'"
)),
}
}
}
#[derive(Debug, Clone, Copy)]
pub struct SqliteTuning {
pub mmap_size: i64,
pub page_size: i64,
pub cache_size_kb: i64,
pub busy_timeout_ms: u64,
pub journal_size_limit: i64,
}
impl Default for SqliteTuning {
fn default() -> Self {
Self {
mmap_size: 268_435_456, page_size: 4096, cache_size_kb: 50_000, busy_timeout_ms: 5000,
journal_size_limit: 134_217_728, }
}
}