/betree

Primary LanguageRustApache License 2.0Apache-2.0

Be-Tree Storage Stack

A storage library offering key-value and object interfaces by managing B^ε-trees on block storage devices.

Dependencies

You'll need at least Rust 1.53.0 (for saturating Duration operations).

git clone https://github.com/tilpner/betree
cd betree/betree
cargo build
cd tests
cargo test

julea-sys

julea-sys generates limited Rust bindings from the JULEA headers, by using rust-bindgen, which uses libclang. The location of the JULEA headers must be provided by passing the JULEA_INCLUDE environment variable.

bindgen needs to access included headers of any libraries JULEA is referencing. The search path can be provided as shown below, though the specifics may change depending on future JULEA versions and cross-compilation. See the bindgen documentation for options of providing the necessary include paths.

export BINDGEN_EXTRA_CLANG_ARGS="$(pkg-config --cflags glib-2.0) $(pkg-config --cflags libbson-1.0)"

Attribution

This code was originally written as a part of Felix Wiedemanns (@Nilix007) master's thesis.

License

Licensed under either of

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.