Skip to main content

TaskStore

Trait TaskStore 

Source
pub trait TaskStore {
    // Required methods
    fn add_task(&mut self, task: Task, deps: &[usize]) -> Result<usize>;
    fn get_successors(&self, id: usize) -> u64;
    fn get_task(&self, id: usize) -> Option<&Task>;
    fn get_task_mut(&mut self, id: usize) -> Option<&mut Task>;
    fn update_status(&mut self, id: usize, status: TaskStatus) -> Result<()>;
    fn task_count(&self) -> usize;
}
Expand description

Interface for task storage backends.

Required Methods§

Source

fn add_task(&mut self, task: Task, deps: &[usize]) -> Result<usize>

Add a task to the storage.

Source

fn get_successors(&self, id: usize) -> u64

Get tasks that depend on this one (outgoing edges).

Source

fn get_task(&self, id: usize) -> Option<&Task>

Get a task by its ID.

Source

fn get_task_mut(&mut self, id: usize) -> Option<&mut Task>

Mutably get a task by its ID.

Source

fn update_status(&mut self, id: usize, status: TaskStatus) -> Result<()>

Update the status of a task.

Source

fn task_count(&self) -> usize

Get the total number of tasks.

Implementors§

Source§

impl<const N: usize> TaskStore for StaticStore<N>