fast_steal/
executor.rs

1extern crate alloc;
2use crate::{Task, TaskList};
3use alloc::sync::Arc;
4
5pub trait Executor: Sized {
6    type Handle: Handle;
7    fn execute(self: Arc<Self>, task: Arc<Task>, task_list: Arc<TaskList<Self>>) -> Self::Handle;
8}
9
10pub trait Handle: Clone {
11    type Output;
12    fn abort(&mut self) -> Self::Output;
13}