pub trait RuntimeAppLoadService:
Clone
+ Send
+ Sync
+ 'static {
// Required methods
fn read_source_manifest_value(
&self,
app_root: &Path,
) -> Result<Value, &'static str>;
fn packaged_artifact_root_matches(
&self,
app_root: &Path,
target_id: &str,
) -> bool;
fn app_runtime_conf_required_present(&self, app_root: &Path) -> bool;
fn resolve_build_dir_for_runtime_loading(
&self,
app_root: &Path,
build_dir: &str,
repo_root: Option<&Path>,
) -> PathBuf;
fn load_app_runtime_from_artifact(
&self,
artifact_dir: &Path,
) -> Result<AppRuntime, &'static str>;
fn initialize_missing_app_runtime_state(
&self,
app: &AppRuntime,
) -> Result<(), &'static str>;
fn verify_app_migration_state(
&self,
app: &AppRuntime,
) -> Result<(), &'static str>;
// Provided method
fn log_startup_app_timing(&self, _timing: RuntimeAppStartupTiming) { ... }
}Expand description
App loading services supplied by the root runtime while stack orchestration stays in the core crate.
Required Methods§
fn read_source_manifest_value( &self, app_root: &Path, ) -> Result<Value, &'static str>
fn packaged_artifact_root_matches( &self, app_root: &Path, target_id: &str, ) -> bool
fn app_runtime_conf_required_present(&self, app_root: &Path) -> bool
fn resolve_build_dir_for_runtime_loading( &self, app_root: &Path, build_dir: &str, repo_root: Option<&Path>, ) -> PathBuf
fn load_app_runtime_from_artifact( &self, artifact_dir: &Path, ) -> Result<AppRuntime, &'static str>
fn initialize_missing_app_runtime_state( &self, app: &AppRuntime, ) -> Result<(), &'static str>
fn verify_app_migration_state( &self, app: &AppRuntime, ) -> Result<(), &'static str>
Provided Methods§
fn log_startup_app_timing(&self, _timing: RuntimeAppStartupTiming)
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.