use std::path::PathBuf;
#[derive(Debug, Clone, Default, PartialEq, Eq)]
pub enum BackendPreference {
#[default]
Cpu,
}
#[derive(Debug, Clone)]
pub struct RingDbConfig {
pub dims: usize,
pub backend_preference: BackendPreference,
pub persist_dir: Option<PathBuf>,
}
impl RingDbConfig {
pub fn new(dims: usize) -> Self {
Self {
dims,
backend_preference: BackendPreference::Cpu,
persist_dir: None,
}
}
pub fn with_persist_dir(mut self, dir: impl Into<PathBuf>) -> Self {
self.persist_dir = Some(dir.into());
self
}
pub fn with_backend_preference(mut self, preference: BackendPreference) -> Self {
self.backend_preference = preference;
self
}
}