pub struct TaskNode { /* private fields */ }Expand description
A node in the task dependency graph
§Examples
use reinhardt_tasks::{TaskNode, TaskId, TaskNodeStatus};
let task_id = TaskId::new();
let node = TaskNode::new(task_id);
assert_eq!(node.id(), task_id);
assert_eq!(node.status(), TaskNodeStatus::Pending);Implementations§
Source§impl TaskNode
impl TaskNode
Sourcepub fn new(id: TaskId) -> Self
pub fn new(id: TaskId) -> Self
Create a new task node
§Examples
use reinhardt_tasks::{TaskNode, TaskId};
let task_id = TaskId::new();
let node = TaskNode::new(task_id);Sourcepub fn id(&self) -> TaskId
pub fn id(&self) -> TaskId
Get the task ID
§Examples
use reinhardt_tasks::{TaskNode, TaskId};
let task_id = TaskId::new();
let node = TaskNode::new(task_id);
assert_eq!(node.id(), task_id);Sourcepub fn dependencies(&self) -> &[TaskId]
pub fn dependencies(&self) -> &[TaskId]
Get the task dependencies
§Examples
use reinhardt_tasks::{TaskNode, TaskId};
let node = TaskNode::new(TaskId::new());
assert_eq!(node.dependencies().len(), 0);Sourcepub fn status(&self) -> TaskNodeStatus
pub fn status(&self) -> TaskNodeStatus
Get the task status
§Examples
use reinhardt_tasks::{TaskNode, TaskId, TaskNodeStatus};
let node = TaskNode::new(TaskId::new());
assert_eq!(node.status(), TaskNodeStatus::Pending);Sourcepub fn add_dependency(&mut self, task_id: TaskId)
pub fn add_dependency(&mut self, task_id: TaskId)
Add a dependency
§Examples
use reinhardt_tasks::{TaskNode, TaskId};
let mut node = TaskNode::new(TaskId::new());
let dep_id = TaskId::new();
node.add_dependency(dep_id);
assert_eq!(node.dependencies().len(), 1);Sourcepub fn set_status(&mut self, status: TaskNodeStatus)
pub fn set_status(&mut self, status: TaskNodeStatus)
Set the task status
§Examples
use reinhardt_tasks::{TaskNode, TaskId, TaskNodeStatus};
let mut node = TaskNode::new(TaskId::new());
node.set_status(TaskNodeStatus::Running);
assert_eq!(node.status(), TaskNodeStatus::Running);Trait Implementations§
Source§impl<'de> Deserialize<'de> for TaskNode
impl<'de> Deserialize<'de> for TaskNode
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for TaskNode
impl RefUnwindSafe for TaskNode
impl Send for TaskNode
impl Sync for TaskNode
impl Unpin for TaskNode
impl UnsafeUnpin for TaskNode
impl UnwindSafe for TaskNode
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more