Scheduler

Trait Scheduler 

Source
pub trait Scheduler: Send + Sync {
    // Required methods
    fn schedule(&self, project: &Project) -> Result<Schedule, ScheduleError>;
    fn is_feasible(&self, project: &Project) -> FeasibilityResult;
    fn explain(&self, project: &Project, task: &TaskId) -> Explanation;
}
Expand description

Core scheduling abstraction

Required Methods§

Source

fn schedule(&self, project: &Project) -> Result<Schedule, ScheduleError>

Compute a schedule for the given project

Source

fn is_feasible(&self, project: &Project) -> FeasibilityResult

Check if a schedule is feasible without computing it

Source

fn explain(&self, project: &Project, task: &TaskId) -> Explanation

Explain why a particular scheduling decision was made

Implementors§