timely/scheduling/mod.rs
1//! Types and traits to activate and schedule fibers.
2
3pub mod activate;
4
5pub use self::activate::{Activations, Activator, ActivateOnDrop, SyncActivator};
6
7/// A type that can be scheduled.
8pub trait Schedule {
9 /// A descriptive name for the operator
10 fn name(&self) -> &str;
11 /// An address identifying the operator.
12 fn path(&self) -> &[usize];
13 /// Schedules the operator, receives "cannot terminate" boolean.
14 ///
15 /// The return value indicates whether `self` has outstanding
16 /// work and would be upset if the computation terminated.
17 fn schedule(&mut self) -> bool;
18}