pub trait PipelineService: Send + Sync {
// Required methods
fn process_file<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
input_path: &'life1 Path,
output_path: &'life2 Path,
context: ProcessFileContext,
) -> Pin<Box<dyn Future<Output = Result<ProcessingMetrics, PipelineError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn process_chunks<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
pipeline: &'life1 Pipeline,
chunks: Vec<FileChunk>,
context: &'life2 mut ProcessingContext,
) -> Pin<Box<dyn Future<Output = Result<Vec<FileChunk>, PipelineError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn validate_pipeline<'life0, 'life1, 'async_trait>(
&'life0 self,
pipeline: &'life1 Pipeline,
) -> Pin<Box<dyn Future<Output = Result<(), PipelineError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn estimate_processing_time<'life0, 'life1, 'async_trait>(
&'life0 self,
pipeline: &'life1 Pipeline,
file_size: u64,
) -> Pin<Box<dyn Future<Output = Result<Duration, PipelineError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn get_resource_requirements<'life0, 'life1, 'async_trait>(
&'life0 self,
pipeline: &'life1 Pipeline,
file_size: u64,
) -> Pin<Box<dyn Future<Output = Result<ResourceRequirements, PipelineError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn create_optimized_pipeline<'life0, 'life1, 'async_trait>(
&'life0 self,
file_path: &'life1 Path,
requirements: PipelineRequirements,
) -> Pin<Box<dyn Future<Output = Result<Pipeline, PipelineError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn monitor_execution<'life0, 'life1, 'async_trait>(
&'life0 self,
pipeline_id: PipelineId,
context: &'life1 ProcessingContext,
) -> Pin<Box<dyn Future<Output = Result<ExecutionStatus, PipelineError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn pause_execution<'life0, 'async_trait>(
&'life0 self,
pipeline_id: PipelineId,
) -> Pin<Box<dyn Future<Output = Result<(), PipelineError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn resume_execution<'life0, 'async_trait>(
&'life0 self,
pipeline_id: PipelineId,
) -> Pin<Box<dyn Future<Output = Result<(), PipelineError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn cancel_execution<'life0, 'async_trait>(
&'life0 self,
pipeline_id: PipelineId,
) -> Pin<Box<dyn Future<Output = Result<(), PipelineError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_execution_history<'life0, 'async_trait>(
&'life0 self,
pipeline_id: PipelineId,
limit: Option<usize>,
) -> Pin<Box<dyn Future<Output = Result<Vec<ExecutionRecord>, PipelineError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}Expand description
Domain service for pipeline operations
Required Methods§
Sourcefn process_file<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
input_path: &'life1 Path,
output_path: &'life2 Path,
context: ProcessFileContext,
) -> Pin<Box<dyn Future<Output = Result<ProcessingMetrics, PipelineError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn process_file<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
input_path: &'life1 Path,
output_path: &'life2 Path,
context: ProcessFileContext,
) -> Pin<Box<dyn Future<Output = Result<ProcessingMetrics, PipelineError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Process a file through the pipeline
Sourcefn process_chunks<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
pipeline: &'life1 Pipeline,
chunks: Vec<FileChunk>,
context: &'life2 mut ProcessingContext,
) -> Pin<Box<dyn Future<Output = Result<Vec<FileChunk>, PipelineError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn process_chunks<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
pipeline: &'life1 Pipeline,
chunks: Vec<FileChunk>,
context: &'life2 mut ProcessingContext,
) -> Pin<Box<dyn Future<Output = Result<Vec<FileChunk>, PipelineError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Processes file chunks through a pipeline
Sourcefn validate_pipeline<'life0, 'life1, 'async_trait>(
&'life0 self,
pipeline: &'life1 Pipeline,
) -> Pin<Box<dyn Future<Output = Result<(), PipelineError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn validate_pipeline<'life0, 'life1, 'async_trait>(
&'life0 self,
pipeline: &'life1 Pipeline,
) -> Pin<Box<dyn Future<Output = Result<(), PipelineError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Validates a pipeline configuration
Sourcefn estimate_processing_time<'life0, 'life1, 'async_trait>(
&'life0 self,
pipeline: &'life1 Pipeline,
file_size: u64,
) -> Pin<Box<dyn Future<Output = Result<Duration, PipelineError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn estimate_processing_time<'life0, 'life1, 'async_trait>(
&'life0 self,
pipeline: &'life1 Pipeline,
file_size: u64,
) -> Pin<Box<dyn Future<Output = Result<Duration, PipelineError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Estimates processing time for a pipeline
Sourcefn get_resource_requirements<'life0, 'life1, 'async_trait>(
&'life0 self,
pipeline: &'life1 Pipeline,
file_size: u64,
) -> Pin<Box<dyn Future<Output = Result<ResourceRequirements, PipelineError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_resource_requirements<'life0, 'life1, 'async_trait>(
&'life0 self,
pipeline: &'life1 Pipeline,
file_size: u64,
) -> Pin<Box<dyn Future<Output = Result<ResourceRequirements, PipelineError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Gets resource requirements for a pipeline
Sourcefn create_optimized_pipeline<'life0, 'life1, 'async_trait>(
&'life0 self,
file_path: &'life1 Path,
requirements: PipelineRequirements,
) -> Pin<Box<dyn Future<Output = Result<Pipeline, PipelineError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create_optimized_pipeline<'life0, 'life1, 'async_trait>(
&'life0 self,
file_path: &'life1 Path,
requirements: PipelineRequirements,
) -> Pin<Box<dyn Future<Output = Result<Pipeline, PipelineError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Creates an optimized pipeline for a file type
Sourcefn monitor_execution<'life0, 'life1, 'async_trait>(
&'life0 self,
pipeline_id: PipelineId,
context: &'life1 ProcessingContext,
) -> Pin<Box<dyn Future<Output = Result<ExecutionStatus, PipelineError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn monitor_execution<'life0, 'life1, 'async_trait>(
&'life0 self,
pipeline_id: PipelineId,
context: &'life1 ProcessingContext,
) -> Pin<Box<dyn Future<Output = Result<ExecutionStatus, PipelineError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Monitors pipeline execution
Sourcefn pause_execution<'life0, 'async_trait>(
&'life0 self,
pipeline_id: PipelineId,
) -> Pin<Box<dyn Future<Output = Result<(), PipelineError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn pause_execution<'life0, 'async_trait>(
&'life0 self,
pipeline_id: PipelineId,
) -> Pin<Box<dyn Future<Output = Result<(), PipelineError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Pauses pipeline execution
Sourcefn resume_execution<'life0, 'async_trait>(
&'life0 self,
pipeline_id: PipelineId,
) -> Pin<Box<dyn Future<Output = Result<(), PipelineError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn resume_execution<'life0, 'async_trait>(
&'life0 self,
pipeline_id: PipelineId,
) -> Pin<Box<dyn Future<Output = Result<(), PipelineError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Resumes pipeline execution
Sourcefn cancel_execution<'life0, 'async_trait>(
&'life0 self,
pipeline_id: PipelineId,
) -> Pin<Box<dyn Future<Output = Result<(), PipelineError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn cancel_execution<'life0, 'async_trait>(
&'life0 self,
pipeline_id: PipelineId,
) -> Pin<Box<dyn Future<Output = Result<(), PipelineError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Cancels pipeline execution
Sourcefn get_execution_history<'life0, 'async_trait>(
&'life0 self,
pipeline_id: PipelineId,
limit: Option<usize>,
) -> Pin<Box<dyn Future<Output = Result<Vec<ExecutionRecord>, PipelineError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_execution_history<'life0, 'async_trait>(
&'life0 self,
pipeline_id: PipelineId,
limit: Option<usize>,
) -> Pin<Box<dyn Future<Output = Result<Vec<ExecutionRecord>, PipelineError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Gets execution history for a pipeline