From 051801655303dd2d3358a3b970e2f89eac52f3d1 Mon Sep 17 00:00:00 2001 From: Jun Wu Date: Fri, 9 Mar 2018 18:57:11 -0800 Subject: [PATCH] indexedlog: initial boilerplate Summary: First step of a storage-related building block that is in Rust. The goal is to use it to replace revlog, obsstore and packfiles. Extern crates that are likely useful are added to reduce future churns. Reviewed By: DurhamG Differential Revision: D7108434 fbshipit-source-id: 97ebd9ba69547d876dcecc05e604acdf9088877e --- lib/indexedlog/Cargo.toml | 22 ++++++++++++++++++++++ lib/indexedlog/benches/bench.rs | 9 +++++++++ lib/indexedlog/src/lib.rs | 14 ++++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 lib/indexedlog/Cargo.toml create mode 100644 lib/indexedlog/benches/bench.rs create mode 100644 lib/indexedlog/src/lib.rs diff --git a/lib/indexedlog/Cargo.toml b/lib/indexedlog/Cargo.toml new file mode 100644 index 0000000000..9743e336de --- /dev/null +++ b/lib/indexedlog/Cargo.toml @@ -0,0 +1,22 @@ +[package] +name = "indexedlog" +version = "0.1.0" + +[dependencies] +atomicwrites = "*" +byteorder = "*" +failure = "*" +fs2 = "*" +memmap = "*" +twox-hash = "*" +vlqencoding = { path = "../vlqencoding" } + +[dev-dependencies] +criterion = "*" +quickcheck = "*" +rand = "*" +tempdir = "*" + +[[bench]] +name = "bench" +harness = false diff --git a/lib/indexedlog/benches/bench.rs b/lib/indexedlog/benches/bench.rs new file mode 100644 index 0000000000..9ca74b97ae --- /dev/null +++ b/lib/indexedlog/benches/bench.rs @@ -0,0 +1,9 @@ +#[macro_use] +extern crate criterion; + +use criterion::Criterion; + +fn criterion_benchmark(_: &mut Criterion) {} + +criterion_group!(benches, criterion_benchmark); +criterion_main!(benches); diff --git a/lib/indexedlog/src/lib.rs b/lib/indexedlog/src/lib.rs new file mode 100644 index 0000000000..8ab1b54cd8 --- /dev/null +++ b/lib/indexedlog/src/lib.rs @@ -0,0 +1,14 @@ +extern crate atomicwrites; +extern crate byteorder; +extern crate failure; +extern crate fs2; +extern crate memmap; +#[cfg(test)] +#[macro_use] +extern crate quickcheck; +#[cfg(test)] +extern crate rand; +#[cfg(test)] +extern crate tempdir; +extern crate twox_hash; +extern crate vlqencoding;