1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#![feature(map_first_last)]

use keydir::HashmapKeydir;
use storage::DiskStorage;

pub mod errors;
mod format;
mod keydir;
pub mod storage;

pub type RumDb = DiskStorage<HashmapKeydir>;

/// Database options.
#[derive(Debug)]
pub struct DbOptions {
    /// Maximum log file size in bytes.
    max_log_file_size: usize,
}

impl Default for DbOptions {
    fn default() -> Self {
        Self {
            max_log_file_size: 100 * 1024 * 1024, // 100 MB
        }
    }
}

impl DbOptions {
    pub fn max_log_file_size(mut self, value: usize) -> Self {
        self.max_log_file_size = value;
        self
    }
}