pub struct TaskItem<'threads, T>{ /* private fields */ }
Expand description
Each node execution is one TaskItem
.
Implementations§
Source§impl<'threads, T> TaskItem<'threads, T>
impl<'threads, T> TaskItem<'threads, T>
Sourcepub fn node_idx_mut(&mut self) -> &mut usize
pub fn node_idx_mut(&mut self) -> &mut usize
Which node index to run
Sourcepub fn permit_mut(&mut self) -> &mut Option<OwnedSemaphorePermit>
pub fn permit_mut(&mut self) -> &mut Option<OwnedSemaphorePermit>
The concurrency permit
Sourcepub fn network_mut(&mut self) -> &mut Arc<AsyncMutex<Network<T>>>
pub fn network_mut(&mut self) -> &mut Arc<AsyncMutex<Network<T>>>
The network
Shared in-degrees
Sourcepub fn output_tx_mut(&mut self) -> &mut Option<StreamingOutputSender<T>>
pub fn output_tx_mut(&mut self) -> &mut Option<StreamingOutputSender<T>>
If streaming is enabled
Sourcepub fn checkpoint_cb_mut(&mut self) -> &mut Option<Arc<dyn CheckpointCallback>>
pub fn checkpoint_cb_mut(&mut self) -> &mut Option<Arc<dyn CheckpointCallback>>
Checkpoint callback
Sourcepub fn child_nodes_tx_mut(&mut self) -> &mut Sender<usize>
pub fn child_nodes_tx_mut(&mut self) -> &mut Sender<usize>
Freed children => push to this channel
Sourcepub fn completed_nodes_mut(&mut self) -> &mut SharedCompletedNodes
pub fn completed_nodes_mut(&mut self) -> &mut SharedCompletedNodes
Completed
Sourcepub fn ready_nodes_tx_mut(&mut self) -> &mut Sender<usize>
pub fn ready_nodes_tx_mut(&mut self) -> &mut Sender<usize>
Freed children => we used to put them in child_nodes_tx, but we actually want them to go into ready_nodes_tx
pub fn threads_lifetime_mut(&mut self) -> &mut PhantomData<&'threads ()>
Source§impl<'threads, T> TaskItem<'threads, T>
impl<'threads, T> TaskItem<'threads, T>
Sourcepub fn permit(&self) -> &Option<OwnedSemaphorePermit>
pub fn permit(&self) -> &Option<OwnedSemaphorePermit>
The concurrency permit
Sourcepub fn network(&self) -> &Arc<AsyncMutex<Network<T>>>
pub fn network(&self) -> &Arc<AsyncMutex<Network<T>>>
The network
Shared in-degrees
Sourcepub fn output_tx(&self) -> &Option<StreamingOutputSender<T>>
pub fn output_tx(&self) -> &Option<StreamingOutputSender<T>>
If streaming is enabled
Sourcepub fn checkpoint_cb(&self) -> &Option<Arc<dyn CheckpointCallback>>
pub fn checkpoint_cb(&self) -> &Option<Arc<dyn CheckpointCallback>>
Checkpoint callback
Sourcepub fn child_nodes_tx(&self) -> &Sender<usize>
pub fn child_nodes_tx(&self) -> &Sender<usize>
Freed children => push to this channel
Sourcepub fn completed_nodes(&self) -> &SharedCompletedNodes
pub fn completed_nodes(&self) -> &SharedCompletedNodes
Completed
Sourcepub fn ready_nodes_tx(&self) -> &Sender<usize>
pub fn ready_nodes_tx(&self) -> &Sender<usize>
Freed children => we used to put them in child_nodes_tx, but we actually want them to go into ready_nodes_tx
pub fn threads_lifetime(&self) -> &PhantomData<&'threads ()>
Trait Implementations§
Auto Trait Implementations§
impl<'threads, T> Freeze for TaskItem<'threads, T>
impl<'threads, T> !RefUnwindSafe for TaskItem<'threads, T>
impl<'threads, T> Send for TaskItem<'threads, T>
impl<'threads, T> Sync for TaskItem<'threads, T>
impl<'threads, T> Unpin for TaskItem<'threads, T>
impl<'threads, T> !UnwindSafe for TaskItem<'threads, 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