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}