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
This commit is contained in:
Jun Wu 2018-03-09 18:57:11 -08:00 committed by Saurabh Singh
parent 89ebed5996
commit 0518016553
3 changed files with 45 additions and 0 deletions

22
lib/indexedlog/Cargo.toml Normal file
View File

@ -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

View File

@ -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);

14
lib/indexedlog/src/lib.rs Normal file
View File

@ -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;