Crate native_model
source ·Expand description
native_model is a Rust crate that acts as a thin wrapper around serialized data, adding identity and version information.
- It aims to ensure:
- Interoperability: Different applications can work together even if they use different data model versions.
- Data Consistency: Ensures the data is processed as expected.
- Flexibility: Allows the use of any serialization format. Mode details here.
- Minimal Performance Overhead: Current performance has a minimal overhead see performance section.
- Suitability:
- Suitable for applications that are written in Rust, evolve independently, store data locally, and require incremental upgrades.
- Not suitable for non-Rust applications, systems not controlled by the user, or when human-readable formats are needed.
- Setup:
- Users must define their own serialization format and data model. Mode details here.
- Development Stage:
- The crate is in early development, and performance is expected to improve over time.
See examples in the README.md file.
Modules
Structs
Enums
Traits
Functions
- Allows to encode a
native_modelinto aVec<u8>. - Allows to encode a
native_modelinto aVec<u8>with a specific version. See examples:
Type Aliases
Attribute Macros
- Macro to generate a
native_modelimplementation for a struct. Macro which add identity and version to your rust type.