1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
//! Trait definitions for per-project runtime data storage. use std::path::Path; use std::sync::Arc; /// Per-project runtime data contract. pub trait RuntimeDataStore: Send + Sync { /// Stable implementation identifier. fn id(&self) -> &'static str; /// Root directory or mount for this runtime-data implementation. fn root(&self) -> &Path; } /// Shared runtime-data trait object. pub type DynRuntimeDataStore = Arc<dyn RuntimeDataStore>;