pub trait ExecutionHost: Sync {
// Required method
fn perform(
&self,
op: AbilityOp,
) -> impl Future<Output = Result<AbilityResult, ExecutionHostError>> + Send;
// Provided methods
fn yield_now(&self) -> impl Future<Output = ()> + Send { ... }
fn execution_mode(&self) -> ExecutionMode { ... }
fn projected_bindings(&self) -> ProjectedBindings { ... }
fn trace_runtime_errors(&self) -> bool { ... }
fn profile_execution(&self) -> bool { ... }
fn take_scratch(&self) -> Option<ExecutionScratch> { ... }
fn store_scratch(&self, _scratch: ExecutionScratch) { ... }
fn observe_runtime_failure(&self, _failure: RuntimeFailure) { ... }
fn observe_profile(&self, _profile: ProfileReport) { ... }
fn observe_lashlang_execution(
&self,
_observation: LashlangExecutionObservation,
) { ... }
}Required Methods§
fn perform( &self, op: AbilityOp, ) -> impl Future<Output = Result<AbilityResult, ExecutionHostError>> + Send
Provided Methods§
fn yield_now(&self) -> impl Future<Output = ()> + Send
fn execution_mode(&self) -> ExecutionMode
fn projected_bindings(&self) -> ProjectedBindings
fn trace_runtime_errors(&self) -> bool
fn profile_execution(&self) -> bool
fn take_scratch(&self) -> Option<ExecutionScratch>
fn store_scratch(&self, _scratch: ExecutionScratch)
fn observe_runtime_failure(&self, _failure: RuntimeFailure)
fn observe_profile(&self, _profile: ProfileReport)
fn observe_lashlang_execution(&self, _observation: LashlangExecutionObservation)
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".