akv/persistence/
config.rs1use std::time::Duration;
2
3#[derive(Debug, Clone)]
4pub struct PersistenceConfig {
5 pub wal_max_size: usize,
6 pub wal_rotation_count: usize,
7 pub buffer_max_size: usize,
8 pub buffer_max_entries: usize,
9 pub flush_interval: Duration,
10 pub sync_interval: Duration,
11 pub snapshot_interval: Duration,
12 pub snapshot_wal_threshold: usize,
13 pub enable_compression: bool,
14 pub compression_level: u32,
15}
16
17impl Default for PersistenceConfig {
18 fn default() -> Self {
19 Self {
20 wal_max_size: 100 * 1024 * 1024,
21 wal_rotation_count: 10,
22 buffer_max_size: 1024 * 1024,
23 buffer_max_entries: 1000,
24 flush_interval: Duration::from_millis(100),
25 sync_interval: Duration::from_secs(1),
26 snapshot_interval: Duration::from_secs(300),
27 snapshot_wal_threshold: 10000,
28 enable_compression: true,
29 compression_level: 3,
30 }
31 }
32}