alex_db_lib/
config.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Clone, Debug, Deserialize, Serialize)]
4pub struct Config {
5    pub data_dir: Option<String>,
6    pub enable_security_api_keys: bool,
7    pub save_triggered_after_ms: i64,
8    pub save_triggered_by_threshold: u16,
9    pub sleep_time_between_gc_ms: u64,
10    pub sleep_time_between_saves_ms: u64,
11}
12
13impl Config {
14    pub fn new(
15        data_dir: Option<String>,
16        enable_security_api_keys: bool,
17        save_triggered_after_ms: i64,
18        save_triggered_by_threshold: u16,
19        sleep_time_between_gc_ms: u64,
20        sleep_time_between_saves_ms: u64,
21    ) -> Self {
22        Self {
23            data_dir,
24            enable_security_api_keys,
25            save_triggered_after_ms,
26            save_triggered_by_threshold,
27            sleep_time_between_gc_ms,
28            sleep_time_between_saves_ms,
29        }
30    }
31}
32
33impl Default for Config {
34    fn default() -> Self {
35        Config::new(None, true, 60000, 8, 1000, 10000)
36    }
37}