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§
- Decode trait for your own decoding method.
- Encode trait for your own encoding method.
Functions§
- Allows to encode a
native_model
into aVec<u8>
. - Allows to encode a
native_model
into aVec<u8>
with a specific version. See examples:
Type Aliases§
Attribute Macros§
- Macro which add identity and version to your rust type.