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§
Sourcefn get_successors(&self, id: usize) -> u64
fn get_successors(&self, id: usize) -> u64
Get tasks that depend on this one (outgoing edges).
Sourcefn get_task_mut(&mut self, id: usize) -> Option<&mut Task>
fn get_task_mut(&mut self, id: usize) -> Option<&mut Task>
Mutably get a task by its ID.
Sourcefn update_status(&mut self, id: usize, status: TaskStatus) -> Result<()>
fn update_status(&mut self, id: usize, status: TaskStatus) -> Result<()>
Update the status of a task.
Sourcefn task_count(&self) -> usize
fn task_count(&self) -> usize
Get the total number of tasks.