In this project is 9 different crates, one in each subfolder. In general, they all have a layout like:
Cargo.toml
src/
| (lib|main).rs
prelude: a small set of shared APIs throughout most of the cratesobject_capabilities: the implementation of a small API for I/O operations with object capabilitiesobject_diecup: a small crate using the API defined inobject_capabilitiesobject_entrypoint: a small program using theobject_diecupwith a custom authenticator for the IO capabilitytoken_capabilities: the implementation of a small API for I/O operations with tokens as capabilitiestoken_diecup: a small crate taking a closure for doing I/Otoken_entrypointis a small program implementing a simple closure usingtoken_capabilitiesto use thetoken_diecupcratefacet_externalis a small example of a crate exposing an API taking a closurefacet_entrypointis a small program using a closure to implement the facet pattern
The main purpose of the Cargo.toml files is to specify dependencies. The source code is in the
.rs files. All entry points are called {something}_entrypoint and have a main.rs file in their
source.
If a working rust toolchain is installed, these Crates can be run, in their respective
directories running cargo run. This builds a debug build of the crate and all of its
dependencies and runs it.
If a rust toolchain is not present, the recommended way of getting it is by going to (rustup.rs)[https://rustup.rs], and following the instructions.