Mercurial > lbo > hg > leveldb-rs
view src/table_cache.rs @ 163:54f8c4f68b99
Implement RandomAccess with immutable receiver for in-memory files.
author | Lewin Bormann <lbo@spheniscida.de> |
---|---|
date | Mon, 10 Jul 2017 19:37:38 +0200 |
parents | 28698cadc1de |
children | bb7c31aa2825 |
line wrap: on
line source
use cache::Cache; use env::RandomAccessFile; use options::Options; use table_reader::Table; const DEFAULT_SUFFIX: &str = "ldb"; fn table_name(name: &str, num: usize, suff: &str) -> String { assert!(num > 0); format!("{}/{:06}.{}", name, num, suff) } struct TableAndFile { file: Box<RandomAccessFile>, table: Table, } pub struct TableCache { dbname: String, cache: Cache<TableAndFile>, opts: Options, } impl TableCache { pub fn new(db: &str, opt: Options, entries: usize) -> TableCache { TableCache { dbname: String::from(db), cache: Cache::new(entries), opts: opt, } } } #[cfg(test)] mod tests { use super::*; #[test] fn test_table_name() { assert_eq!("abc/000122.ldb", table_name("abc", 122, "ldb")); } }