Mercurial > lbo > hg > sstable
changeset 13:6a28e181a306
Rename Options->BuildOptions, and add ReadOptions
author | Lewin Bormann <lbo@spheniscida.de> |
---|---|
date | Mon, 21 Nov 2016 19:26:37 +0100 |
parents | 8c5ce706ec9d |
children | e169ac78539d |
files | src/block.rs src/lib.rs src/options.rs src/table_builder.rs src/table_reader.rs |
diffstat | 5 files changed, 36 insertions(+), 25 deletions(-) [+] |
line wrap: on
line diff
--- a/src/block.rs Sun Nov 20 20:41:59 2016 +0100 +++ b/src/block.rs Mon Nov 21 19:26:37 2016 +0100 @@ -2,7 +2,7 @@ use std::rc::Rc; -use options::Options; +use options::BuildOptions; use iterator::{SSIterator, Comparator}; use integer_encoding::FixedInt; @@ -249,7 +249,7 @@ } pub struct BlockBuilder<C: Comparator> { - opt: Options, + opt: BuildOptions, cmp: C, buffer: Vec<u8>, restarts: Vec<u32>, @@ -259,7 +259,7 @@ } impl<C: Comparator> BlockBuilder<C> { - pub fn new(o: Options, cmp: C) -> BlockBuilder<C> { + pub fn new(o: BuildOptions, cmp: C) -> BlockBuilder<C> { let mut restarts = vec![0]; restarts.reserve(1023); @@ -375,7 +375,7 @@ #[test] fn test_block_builder() { - let mut o = Options::default(); + let mut o = BuildOptions::default(); o.block_restart_interval = 3; let mut builder = BlockBuilder::new(o, StandardComparator); @@ -393,7 +393,7 @@ #[test] fn test_block_builder_reset() { - let o = Options::default(); + let o = BuildOptions::default(); let mut builder = BlockBuilder::new(o, StandardComparator); @@ -406,7 +406,7 @@ #[test] fn test_block_empty() { - let mut o = Options::default(); + let mut o = BuildOptions::default(); o.block_restart_interval = 16; let builder = BlockBuilder::new(o, StandardComparator); @@ -424,7 +424,7 @@ #[test] fn test_block_build_iterate() { let data = get_data(); - let mut builder = BlockBuilder::new(Options::default(), StandardComparator); + let mut builder = BlockBuilder::new(BuildOptions::default(), StandardComparator); for &(k, v) in data.iter() { builder.add(k, v); @@ -455,7 +455,7 @@ #[test] fn test_block_iterate_reverse() { - let mut o = Options::default(); + let mut o = BuildOptions::default(); o.block_restart_interval = 3; let data = get_data(); let mut builder = BlockBuilder::new(o, StandardComparator); @@ -483,7 +483,7 @@ #[test] fn test_block_seek() { - let mut o = Options::default(); + let mut o = BuildOptions::default(); o.block_restart_interval = 3; let data = get_data(); @@ -515,7 +515,7 @@ #[test] fn test_block_seek_to_last() { - let mut o = Options::default(); + let mut o = BuildOptions::default(); // Test with different number of restarts for block_restart_interval in vec![2, 6, 10] {
--- a/src/lib.rs Sun Nov 20 20:41:59 2016 +0100 +++ b/src/lib.rs Mon Nov 21 19:26:37 2016 +0100 @@ -11,7 +11,7 @@ pub use iterator::StandardComparator; pub use iterator::SSIterator; -pub use options::Options; +pub use options::{BuildOptions, ReadOptions}; pub use table_builder::TableBuilder; pub use table_reader::{Table, TableIterator};
--- a/src/options.rs Sun Nov 20 20:41:59 2016 +0100 +++ b/src/options.rs Mon Nov 21 19:26:37 2016 +0100 @@ -9,19 +9,30 @@ /// [not all member types implemented yet] /// #[derive(Clone, Copy)] -pub struct Options { +pub struct BuildOptions { pub block_size: usize, pub block_restart_interval: usize, // Note: Compression is not implemented. pub compression_type: CompressionType, } -impl Default for Options { - fn default() -> Options { - Options { +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 } + } +}
--- a/src/table_builder.rs Sun Nov 20 20:41:59 2016 +0100 +++ b/src/table_builder.rs Mon Nov 21 19:26:37 2016 +0100 @@ -1,6 +1,6 @@ use block::{BlockBuilder, BlockContents}; use blockhandle::BlockHandle; -use options::{CompressionType, Options}; +use options::{CompressionType, BuildOptions}; use iterator::{Comparator, StandardComparator}; use std::io::Write; @@ -86,7 +86,7 @@ /// 0xdb4775248b80fb57. pub struct TableBuilder<C: Comparator, Dst: Write> { - o: Options, + o: BuildOptions, cmp: C, dst: Dst, @@ -100,16 +100,16 @@ impl<Dst: Write> TableBuilder<StandardComparator, Dst> { - /// Create a new TableBuilder with default comparator and options. + /// Create a new TableBuilder with default comparator and BuildOptions. pub fn new_defaults(dst: Dst) -> TableBuilder<StandardComparator, Dst> { - TableBuilder::new(Options::default(), StandardComparator, dst) + TableBuilder::new(BuildOptions::default(), StandardComparator, dst) } } impl<C: Comparator, Dst: Write> TableBuilder<C, Dst> { /// Create a new TableBuilder. - pub fn new(opt: Options, cmp: C, dst: Dst) -> TableBuilder<C, Dst> { + pub fn new(opt: BuildOptions, cmp: C, dst: Dst) -> TableBuilder<C, Dst> { TableBuilder { o: opt, cmp: cmp, @@ -219,7 +219,7 @@ use super::{find_shortest_sep, Footer, TableBuilder}; use iterator::StandardComparator; use blockhandle::BlockHandle; - use options::Options; + use options::BuildOptions; #[test] fn test_shortest_sep() { @@ -254,7 +254,7 @@ #[test] fn test_table_builder() { let mut d = Vec::with_capacity(512); - let mut opt = Options::default(); + let mut opt = BuildOptions::default(); opt.block_restart_interval = 3; let mut b = TableBuilder::new(opt, StandardComparator, &mut d); @@ -271,7 +271,7 @@ #[should_panic] fn test_bad_input() { let mut d = Vec::with_capacity(512); - let mut opt = Options::default(); + let mut opt = BuildOptions::default(); opt.block_restart_interval = 3; let mut b = TableBuilder::new(opt, StandardComparator, &mut d);
--- a/src/table_reader.rs Sun Nov 20 20:41:59 2016 +0100 +++ b/src/table_reader.rs Mon Nov 21 19:26:37 2016 +0100 @@ -271,7 +271,7 @@ #[cfg(test)] mod tests { - use options::Options; + use options::BuildOptions; use table_builder::TableBuilder; use iterator::{StandardComparator, SSIterator}; @@ -292,7 +292,7 @@ fn build_table() -> (Vec<u8>, usize) { let mut d = Vec::with_capacity(512); - let mut opt = Options::default(); + let mut opt = BuildOptions::default(); opt.block_restart_interval = 2; opt.block_size = 32;