maitake::scheduler

Trait Schedule

Source
pub trait Schedule:
    Sized
    + Clone
    + 'static {
    // Required methods
    fn schedule(&self, task: TaskRef);
    fn current_task(&self) -> Option<TaskRef>;

    // Provided method
    fn build_task<'a>(&self) -> Builder<'a, Self> { ... }
}
Expand description

Trait implemented by schedulers.

This trait is implemented by the Scheduler and StaticScheduler types. It is not intended to be publicly implemented by user-defined types, but can be used to abstract over static and reference-counted schedulers.

Required Methods§

Source

fn schedule(&self, task: TaskRef)

Schedule a task on this scheduler.

This method is called by the task’s Waker when a task is woken.

Source

fn current_task(&self) -> Option<TaskRef>

Returns a TaskRef referencing the task currently being polled by this scheduler, if a task is currently being polled.

Provided Methods§

Source

fn build_task<'a>(&self) -> Builder<'a, Self>

Returns a new task Builder for configuring tasks prior to spawning them on this scheduler.

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.

Implementors§