pub struct ConcurrentPipeline { /* private fields */ }Implementations§
Source§impl ConcurrentPipeline
impl ConcurrentPipeline
Sourcepub fn new(
compression_service: Arc<dyn CompressionService>,
encryption_service: Arc<dyn EncryptionService>,
file_io_service: Arc<dyn FileIOService>,
pipeline_repository: Arc<dyn PipelineRepository>,
stage_executor: Arc<dyn StageExecutor>,
binary_format_service: Arc<dyn BinaryFormatService>,
) -> Self
pub fn new( compression_service: Arc<dyn CompressionService>, encryption_service: Arc<dyn EncryptionService>, file_io_service: Arc<dyn FileIOService>, pipeline_repository: Arc<dyn PipelineRepository>, stage_executor: Arc<dyn StageExecutor>, binary_format_service: Arc<dyn BinaryFormatService>, ) -> Self
Creates a new pipeline service with injected dependencies
§Arguments
compression_service- Service for compression operationsencryption_service- Service for encryption operationsfile_io_service- Service for file I/O operationspipeline_repository- Repository for pipeline persistencestage_executor- Executor for pipeline stagesbinary_format_service- Service for binary format operations
Trait Implementations§
Source§impl PipelineService for ConcurrentPipeline
impl PipelineService for ConcurrentPipeline
Source§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_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
Source§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 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
Source§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 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
Source§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 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
Source§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 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
Source§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 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
Source§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 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
Source§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 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
Source§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 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
Source§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 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
Source§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,
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
Auto Trait Implementations§
impl Freeze for ConcurrentPipeline
impl !RefUnwindSafe for ConcurrentPipeline
impl Send for ConcurrentPipeline
impl Sync for ConcurrentPipeline
impl Unpin for ConcurrentPipeline
impl !UnwindSafe for ConcurrentPipeline
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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