oris_kernel/kernel/state.rs
1//! State trait for the Oris kernel.
2//!
3//! State must be serializable and versioned for schema evolution (2.0 migration).
4
5/// Kernel state: cloneable, send, sync, and with a schema version for migrations.
6///
7/// Existing graph::State can implement this by adding `fn version(&self) -> u32` (e.g. returning 1).
8pub trait KernelState: Clone + Send + Sync + 'static {
9 /// Schema version for state migration (e.g. 1, 2, ...).
10 fn version(&self) -> u32;
11}