Mercurial > lbo > hg > leveldb-rs
changeset 158:c15ac746e903
Add Env and FilterPolicy members to Options.
author | Lewin Bormann <lbo@spheniscida.de> |
---|---|
date | Sun, 09 Jul 2017 20:33:43 +0200 |
parents | de83256f4423 |
children | 18e0fb2d6a4e |
files | src/options.rs |
diffstat | 1 files changed, 9 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/options.rs Sun Jul 09 20:33:20 2017 +0200 +++ b/src/options.rs Sun Jul 09 20:33:43 2017 +0200 @@ -1,6 +1,9 @@ -use table_reader::TableBlock; use cache::Cache; use cmp::{Cmp, DefaultCmp}; +use disk_env; +use env::Env; +use filter; +use table_reader::TableBlock; use types::SequenceNumber; use std::default::Default; @@ -12,6 +15,7 @@ const BLOCK_MAX_SIZE: usize = 4 * KB; const BLOCK_CACHE_CAPACITY: usize = 8 * MB; const WRITE_BUFFER_SIZE: usize = 4 * MB; +const DEFAULT_BITS_PER_KEY: u32 = 10; // NOTE: This may need to be optimized. #[derive(Clone, Copy, PartialEq, Debug)] pub enum CompressionType { @@ -32,6 +36,7 @@ #[derive(Clone)] pub struct Options { pub cmp: Arc<Box<Cmp>>, + pub env: Arc<Box<Env>>, pub create_if_missing: bool, pub error_if_exists: bool, pub paranoid_checks: bool, @@ -43,12 +48,14 @@ pub block_restart_interval: usize, pub compression_type: CompressionType, pub reuse_logs: bool, + pub filter_policy: filter::BoxedFilterPolicy, } impl Default for Options { fn default() -> Options { Options { cmp: Arc::new(Box::new(DefaultCmp)), + env: Arc::new(Box::new(disk_env::PosixDiskEnv::new())), create_if_missing: true, error_if_exists: false, paranoid_checks: false, @@ -60,6 +67,7 @@ block_restart_interval: 16, reuse_logs: false, compression_type: CompressionType::CompressionNone, + filter_policy: filter::BloomPolicy::new(DEFAULT_BITS_PER_KEY), } } }