moltendb_core/engine/
config.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize)]
4pub struct DbConfig {
5 pub path: String,
7 pub tiered_mode: bool,
9 pub sync_mode: bool,
11 pub hot_threshold: usize,
13 pub rate_limit_requests: Option<u32>,
15 pub rate_limit_window: Option<u64>,
17 pub max_body_size: usize,
19 pub max_keys_per_request: usize,
21 #[serde(skip)]
23 pub encryption_key: Option<[u8; 32]>,
24 pub post_backup_script: Option<String>,
26 pub in_memory: bool,
28}
29
30impl Default for DbConfig {
31 fn default() -> Self {
32 Self {
33 path: "molten.db".to_string(),
34 tiered_mode: false,
35 sync_mode: false,
36 hot_threshold: 50000,
37 rate_limit_requests: Some(1000),
38 rate_limit_window: Some(60),
39 max_body_size: 10 * 1024 * 1024,
40 max_keys_per_request: 1000,
41 encryption_key: None,
42 post_backup_script: None,
43 in_memory: false,
44 }
45 }
46}