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}