mod thread_scheduler;
pub use thread_scheduler::ThreadScheduler;
pub trait Scheduler {
fn schedule<T: Send + Sync + 'static, R: Send + Sync + 'static>(
&self,
task: impl FnOnce(Option<T>) -> R + Send + 'static,
state: Option<T>,
) -> R;
}
pub fn new_thread() -> ThreadScheduler { ThreadScheduler {} }