pub struct CompositionExecutionEngine { /* private fields */ }Expand description
Composition execution engine
Provides comprehensive execution orchestration for modular component composition with resource management, parallel execution, fault tolerance, and performance optimization.
Implementations§
Source§impl CompositionExecutionEngine
impl CompositionExecutionEngine
Sourcepub fn new(
component_registry: Arc<GlobalComponentRegistry>,
dependency_resolver: Arc<DependencyResolver>,
lifecycle_manager: Arc<LifecycleManager>,
) -> Self
pub fn new( component_registry: Arc<GlobalComponentRegistry>, dependency_resolver: Arc<DependencyResolver>, lifecycle_manager: Arc<LifecycleManager>, ) -> Self
Create a new execution engine
Sourcepub fn create_context(
&self,
context_id: &str,
) -> SklResult<Arc<RwLock<CompositionContext>>>
pub fn create_context( &self, context_id: &str, ) -> SklResult<Arc<RwLock<CompositionContext>>>
Create a new composition context
Sourcepub fn get_context(
&self,
context_id: &str,
) -> Option<Arc<RwLock<CompositionContext>>>
pub fn get_context( &self, context_id: &str, ) -> Option<Arc<RwLock<CompositionContext>>>
Get composition context
Sourcepub async fn execute_pipeline(
&self,
context_id: &str,
pipeline: Pipeline,
input_data: PipelineData,
) -> SklResult<ExecutionResult>
pub async fn execute_pipeline( &self, context_id: &str, pipeline: Pipeline, input_data: PipelineData, ) -> SklResult<ExecutionResult>
Execute a pipeline within a context
Sourcepub async fn execute_pipelines_concurrent(
&self,
executions: Vec<ConcurrentExecution>,
) -> SklResult<Vec<ExecutionResult>>
pub async fn execute_pipelines_concurrent( &self, executions: Vec<ConcurrentExecution>, ) -> SklResult<Vec<ExecutionResult>>
Execute multiple pipelines concurrently
Sourcepub async fn execute_composition(
&self,
context_id: &str,
composition: CompositionGraph,
input_data: HashMap<String, PipelineData>,
) -> SklResult<CompositionResult>
pub async fn execute_composition( &self, context_id: &str, composition: CompositionGraph, input_data: HashMap<String, PipelineData>, ) -> SklResult<CompositionResult>
Execute a composition graph
Sourcepub fn get_statistics(&self) -> ExecutionStatistics
pub fn get_statistics(&self) -> ExecutionStatistics
Get execution statistics
Sourcepub fn configure(&mut self, config: ExecutionEngineConfig)
pub fn configure(&mut self, config: ExecutionEngineConfig)
Configure the execution engine
Trait Implementations§
Source§impl Clone for CompositionExecutionEngine
impl Clone for CompositionExecutionEngine
Auto Trait Implementations§
impl Freeze for CompositionExecutionEngine
impl !RefUnwindSafe for CompositionExecutionEngine
impl Send for CompositionExecutionEngine
impl Sync for CompositionExecutionEngine
impl Unpin for CompositionExecutionEngine
impl !UnwindSafe for CompositionExecutionEngine
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more