pub trait RuntimeExecutionServices {
// Required methods
fn scope_id(&self) -> ExecutionScopeId;
fn create_future(
&self,
call: DeferredCall,
) -> Result<FutureHandle, ExecutionServiceError>;
fn spawn(
&self,
future: &FutureHandle,
) -> Result<TaskHandle, ExecutionServiceError>;
fn begin_await(
&self,
value: Value,
) -> Result<AwaitAction, ExecutionServiceError>;
fn complete_future(
&self,
future: &FutureHandle,
result: Result<Value, ExecutionServiceError>,
) -> Result<(), ExecutionServiceError>;
fn cancel(
&self,
value: &Value,
reason: CancellationReason,
) -> Result<(), ExecutionServiceError>;
fn drain_scope(&self, reason: CancellationReason);
// Provided methods
fn requires_program_capture(&self) -> bool { ... }
fn submit_job(
&self,
_call: DeferredCall,
_options: DurableJobOptions,
) -> Result<JobHandle, ExecutionServiceError> { ... }
fn await_job(
&self,
_job: &JobHandle,
) -> Result<Value, ExecutionServiceError> { ... }
}Required Methods§
fn scope_id(&self) -> ExecutionScopeId
fn create_future( &self, call: DeferredCall, ) -> Result<FutureHandle, ExecutionServiceError>
fn spawn( &self, future: &FutureHandle, ) -> Result<TaskHandle, ExecutionServiceError>
fn begin_await( &self, value: Value, ) -> Result<AwaitAction, ExecutionServiceError>
fn complete_future( &self, future: &FutureHandle, result: Result<Value, ExecutionServiceError>, ) -> Result<(), ExecutionServiceError>
fn cancel( &self, value: &Value, reason: CancellationReason, ) -> Result<(), ExecutionServiceError>
fn drain_scope(&self, reason: CancellationReason)
Provided Methods§
fn requires_program_capture(&self) -> bool
fn submit_job( &self, _call: DeferredCall, _options: DurableJobOptions, ) -> Result<JobHandle, ExecutionServiceError>
fn await_job(&self, _job: &JobHandle) -> Result<Value, ExecutionServiceError>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".