Trait JobProcessor

Source
pub trait JobProcessor<T: Job>:
    Clone
    + Send
    + Sync {
    // Required method
    fn process<'life0, 'async_trait>(
        &'life0 self,
        entry: JobEntry,
    ) -> Pin<Box<dyn Future<Output = JobResult<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

Trait for processing specific job types

Required Methods§

Source

fn process<'life0, 'async_trait>( &'life0 self, entry: JobEntry, ) -> Pin<Box<dyn Future<Output = JobResult<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Process a job entry

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<T, F, Fut> JobProcessor<T> for F
where T: Job + 'static, F: Fn(T) -> Fut + Clone + Send + Sync + 'static, Fut: Future<Output = JobResult<()>> + Send + 'static,

Convenience implementation for closure-based processors