Trait aleph_bft::rmc::TaskScheduler [−][src]
pub trait TaskScheduler<T>: Send + Sync {
fn add_task(&mut self, task: T);
fn next_task<'life0, 'async_trait>(
&'life0 mut self
) -> Pin<Box<dyn Future<Output = Option<T>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
}
Expand description
Abstraction of a task-scheduling logic
Because the network can be faulty, the task of sending a message must be performed multiple
times to ensure that the recipient receives each message.
The trait TaskScheduler<T>
describes in what intervals some abstract task of type T
should be performed.