Skip to content

Latest commit

 

History

History
67 lines (47 loc) · 2.81 KB

README.md

File metadata and controls

67 lines (47 loc) · 2.81 KB

Be-Tree Storage Stack

CI Pages

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

Dependencies

We advise you to use always the latest version of Rust Stable. For compatability we provide the minimum rust version also in the Cargo.toml of each crate in this project.

git clone https://github.com/julea-io/haura
cd haura/betree
cargo build
cd tests
./scripts/test.sh

Documentation

You can find an in-depth documentation and developer guide under https://julea-io.github.io/haura or you may build it yourself locally. For building the documentation mdbook is required. You can find install directions in their documentation under https://rust-lang.github.io/mdBook/.

Also you'll require mdbook-grapviz to render graphs within the documentation. This crate also needs graphviz to be installed on your system.

The documentation is automatically built and published on GitHub Pages - the workflow for which you can find under .github/workflows/pages.yml.

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.