System Crates
As the name implies ODIN system crates provide functionality that is not directly associated to a specific application domain such as weather or even the general topic of disaster management. Most of them can be used for non-ODIN applications.
ODIN system crates can be divided into the following categories:
ODIN development
- odin_build - this crate is a build- and runtime dependency for other ODIN crates. It provides the mechanism to build stand-alone applications that do not rely on separate resource files
- odin_macro - this is collection of macros that implement domain specific languages
used especially by
odin_actor
cross-cutting functions
- odin_common - this is primarily a collection of cross-cutting functions that extend the Rust standard libraries and provide some basic capabilities such as admin notification
- odin_gdal - a crate that wraps and extends the GDAL library for geo-spatial data sets and images
- odin_dem - a simple digital elevation model based on GDAL VRT
architectural crates
- odin_actor - this crate implements a full actor system and is the architectural basis for most ODIN app crates
- odin_action - a crate that provides generic callbacks (used primarily to make actors inter-operable)
- odin_job - general system-global scheduling
- odin_server - this crate provides the building blocks to construct web server actors
- odin_share - crate that provides infrastructure to share data between services and users
client library support
- odin_cesium - this crate provides assets for client side virtual globe rendering with CesiumJS