use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DbConfig {
pub path: String,
pub tiered_mode: bool,
pub sync_mode: bool,
pub hot_threshold: usize,
pub rate_limit_requests: Option<u32>,
pub rate_limit_window: Option<u64>,
pub max_body_size: usize,
pub max_keys_per_request: usize,
#[serde(skip)]
pub encryption_key: Option<[u8; 32]>,
pub post_backup_script: Option<String>,
pub in_memory: bool,
}
impl Default for DbConfig {
fn default() -> Self {
Self {
path: "molten.db".to_string(),
tiered_mode: false,
sync_mode: false,
hot_threshold: 50000,
rate_limit_requests: Some(1000),
rate_limit_window: Some(60),
max_body_size: 10 * 1024 * 1024,
max_keys_per_request: 1000,
encryption_key: None,
post_backup_script: None,
in_memory: false,
}
}
}