data_pile/lib.rs
1//! # `pile` - a simple and fast append-only data store
2//!
3//! ## Design goals
4//!
5//! * Efficient adding of bug chunks of data.
6//! * A user should be able to copy the storage data (for example, over the network)
7//! while still being able to use the database for both reads and writes.
8//! * The storage should have a minimal dependency footprint.
9//!
10//! ## Usage guide
11//!
12//! ### Example
13//!
14//! ```rust,ignore
15//! use data_pile::Database;
16//! let db = Database::new("./pile").unwrap();
17//! let value = b"some data";
18//! db.put(&value).unwrap();
19//! ```
20
21#[cfg(test)]
22#[macro_use(quickcheck)]
23extern crate quickcheck_macros;
24
25mod appender;
26mod database;
27mod error;
28mod flatfile;
29mod growable_mmap;
30mod page_index;
31mod seqno;
32mod seqno_iter;
33mod shared_mmap;
34
35use appender::Appender;
36pub use database::Database;
37pub use error::Error;
38pub use seqno_iter::SeqNoIter;
39pub use shared_mmap::SharedMmap;