pub trait JobSchedulerTrait:
Send
+ Sync
+ Sized {
// Required methods
fn new<'async_trait>( ) -> Pin<Box<dyn Future<Output = Result<Self, Box<dyn Error + Send + Sync>>> + Send + 'async_trait>>
where Self: 'async_trait;
fn add<'life0, 'async_trait>(
&'life0 self,
job: Job,
) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error + Send + Sync>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn start<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error + Send + Sync>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn shutdown<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error + Send + Sync>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}
Expand description
Trait for job scheduler
This trait is used to abstract the job scheduler implementation. It is used to allow the block watcher service to be used with different job scheduler implementations.
Required Methods§
fn new<'async_trait>() -> Pin<Box<dyn Future<Output = Result<Self, Box<dyn Error + Send + Sync>>> + Send + 'async_trait>>where
Self: 'async_trait,
fn add<'life0, 'async_trait>(
&'life0 self,
job: Job,
) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error + Send + Sync>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn start<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error + Send + Sync>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn shutdown<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error + Send + Sync>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
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.
Implementations on Foreign Types§
Source§impl JobSchedulerTrait for JobScheduler
Implementation of the job scheduler trait for the JobScheduler struct
impl JobSchedulerTrait for JobScheduler
Implementation of the job scheduler trait for the JobScheduler struct