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
34
35
36
37
38
use std::default::Default;

#[derive(Clone, Copy, PartialEq, Debug)]
pub enum CompressionType {
    CompressionNone = 0,
    CompressionSnappy = 1,
}

/// [not all member types implemented yet]
///
#[derive(Clone, Copy)]
pub struct BuildOptions {
    pub block_size: usize,
    pub block_restart_interval: usize,
    // Note: Compression is not implemented.
    pub compression_type: CompressionType,
}

impl Default for BuildOptions {
    fn default() -> BuildOptions {
        BuildOptions {
            block_size: 4 * (1 << 10),
            block_restart_interval: 16,
            compression_type: CompressionType::CompressionNone,
        }
    }
}

#[derive(Clone, Copy)]
pub struct ReadOptions {
    pub skip_bad_blocks: bool,
}

impl Default for ReadOptions {
    fn default() -> ReadOptions {
        ReadOptions { skip_bad_blocks: true }
    }
}