pub struct TaskHandle<T> { /* private fields */ }Expand description
Opaque, typed token for a node’s output.
A TaskHandle<T> provides compile-time type-safe access to a task’s output.
You can:
- Pass it to
crate::TaskBuilder::depends_onto wire up dependencies - Use it with
crate::DagRunner::getto retrieve the output aftercrate::DagRunner::run
Handles are cheap to clone and copy.
§Examples
let dag = DagRunner::new();
let node = dag.add_task(LoadValue::new(42));
dag.run(|fut| { tokio::spawn(fut); }).await.unwrap();
assert_eq!(dag.get(node).unwrap(), 42);Trait Implementations§
Source§impl<T> Clone for TaskHandle<T>
impl<T> Clone for TaskHandle<T>
Source§impl<'a, Tk: Task, Deps> From<&TaskBuilder<'a, Tk, Deps>> for TaskHandle<Tk::Output>where
Tk::Input: IsUnitType,
impl<'a, Tk: Task, Deps> From<&TaskBuilder<'a, Tk, Deps>> for TaskHandle<Tk::Output>where
Tk::Input: IsUnitType,
Source§fn from(node: &TaskBuilder<'a, Tk, Deps>) -> Self
fn from(node: &TaskBuilder<'a, Tk, Deps>) -> Self
Converts to this type from the input type.
Source§impl<T> From<&TaskHandle<T>> for TaskHandle<T>
impl<T> From<&TaskHandle<T>> for TaskHandle<T>
Source§fn from(handle: &TaskHandle<T>) -> Self
fn from(handle: &TaskHandle<T>) -> Self
Converts to this type from the input type.
Source§impl<'a, Tk: Task, Deps> From<TaskBuilder<'a, Tk, Deps>> for TaskHandle<Tk::Output>where
Tk::Input: IsUnitType,
impl<'a, Tk: Task, Deps> From<TaskBuilder<'a, Tk, Deps>> for TaskHandle<Tk::Output>where
Tk::Input: IsUnitType,
Source§fn from(node: TaskBuilder<'a, Tk, Deps>) -> Self
fn from(node: TaskBuilder<'a, Tk, Deps>) -> Self
Converts to this type from the input type.
impl<T> Copy for TaskHandle<T>
Auto Trait Implementations§
impl<T> Freeze for TaskHandle<T>
impl<T> RefUnwindSafe for TaskHandle<T>
impl<T> Send for TaskHandle<T>
impl<T> Sync for TaskHandle<T>
impl<T> Unpin for TaskHandle<T>
impl<T> UnwindSafe for TaskHandle<T>
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