pub trait TaskScheduler: Send + Sync {
// Required methods
fn schedule_task(&mut self, task: Box<dyn ExecutableTask>) -> SklResult<()>;
fn next_task(&mut self) -> Option<Box<dyn ExecutableTask>>;
fn queue_size(&self) -> usize;
fn set_config(&mut self, config: SchedulerConfig);
}Expand description
Task scheduler trait for managing task execution order
Required Methods§
Sourcefn schedule_task(&mut self, task: Box<dyn ExecutableTask>) -> SklResult<()>
fn schedule_task(&mut self, task: Box<dyn ExecutableTask>) -> SklResult<()>
Add a task to the schedule
Sourcefn next_task(&mut self) -> Option<Box<dyn ExecutableTask>>
fn next_task(&mut self) -> Option<Box<dyn ExecutableTask>>
Get the next task to execute
Sourcefn queue_size(&self) -> usize
fn queue_size(&self) -> usize
Get current queue size
Sourcefn set_config(&mut self, config: SchedulerConfig)
fn set_config(&mut self, config: SchedulerConfig)
Set scheduler configuration