1#![feature(nll)]
2#![feature(test)]
3
4#[macro_use]
5extern crate derive_builder;
6extern crate failure;
7extern crate itertools;
8#[macro_use]
9extern crate log;
10extern crate integer_encoding;
11extern crate io_at;
12extern crate log4rs;
13extern crate regex;
14#[macro_use]
15extern crate lazy_static;
16extern crate serde;
17#[macro_use]
18extern crate serde_derive;
19extern crate serde_yaml;
20extern crate twox_hash;
21extern crate test;
22
23mod core;
24mod hint;
25mod keys_iterator;
26mod segment;
27mod store;
28
29pub use core::Bitcask;
30pub use core::{Config, ConfigBuilder};
31
32pub use keys_iterator::StoreKeys;
33
34use std::sync::{Once, ONCE_INIT};
35
36static INIT: Once = ONCE_INIT;
37
38pub fn setup(path: &str) {
40 INIT.call_once(|| {
41 log4rs::init_file(path, Default::default()).expect("log4rs.yml not found");
42 });
43}