ExecutionStrategy

Trait ExecutionStrategy 

Source
pub trait ExecutionStrategy: Send + Sync {
    // Required methods
    fn name(&self) -> &str;
    fn execute(
        &self,
        task: &dyn ExecutableTask,
        context: &ExecutionContext,
    ) -> SklResult<ExecutionResult>;
    fn can_handle(&self, task: &dyn ExecutableTask) -> bool;
    fn config(&self) -> &StrategyConfig;
    fn clone_strategy(&self) -> Box<dyn ExecutionStrategy>;
}
Expand description

Execution strategy trait for pluggable execution behaviors

Required Methods§

Source

fn name(&self) -> &str

Strategy name

Source

fn execute( &self, task: &dyn ExecutableTask, context: &ExecutionContext, ) -> SklResult<ExecutionResult>

Execute a task with this strategy

Source

fn can_handle(&self, task: &dyn ExecutableTask) -> bool

Check if strategy can handle the given task

Source

fn config(&self) -> &StrategyConfig

Get strategy configuration

Source

fn clone_strategy(&self) -> Box<dyn ExecutionStrategy>

Clone the strategy

Implementors§