pub struct ExecutionGroupSchedule<'a> { /* private fields */ }Expand description
Backend-neutral execution-group orchestration and dependency-output lifetime tracking.
Implementations§
Source§impl<'a> ExecutionGroupSchedule<'a>
impl<'a> ExecutionGroupSchedule<'a>
Sourcepub fn new(graph: &'a ExecutionGraph) -> Self
pub fn new(graph: &'a ExecutionGraph) -> Self
Creates a schedule for one validated execution graph.
Sourcepub fn startable_groups(&self) -> impl Iterator<Item = usize> + '_
pub fn startable_groups(&self) -> impl Iterator<Item = usize> + '_
Returns ready groups which have not begun architecture setup.
Sourcepub fn dependencies(
&self,
group: usize,
) -> Result<&[usize], ExecutionScheduleError>
pub fn dependencies( &self, group: usize, ) -> Result<&[usize], ExecutionScheduleError>
Returns dependency slots in architecture declaration order.
Sourcepub fn started(
&mut self,
group: usize,
) -> Result<Vec<usize>, ExecutionScheduleError>
pub fn started( &mut self, group: usize, ) -> Result<Vec<usize>, ExecutionScheduleError>
Commits successful architecture setup and returns producer outputs whose final consumer has now captured them.
Sourcepub fn ordered(&mut self, group: usize) -> Result<(), ExecutionScheduleError>
pub fn ordered(&mut self, group: usize) -> Result<(), ExecutionScheduleError>
Commits a successfully ordered group and unlocks its dependents.
Sourcepub fn fail(&mut self, group: usize) -> Result<(), ExecutionScheduleError>
pub fn fail(&mut self, group: usize) -> Result<(), ExecutionScheduleError>
Closes a failed group and its dependent subgraph.
Sourcepub fn state(&self, group: usize) -> Option<ReadyGroupState>
pub fn state(&self, group: usize) -> Option<ReadyGroupState>
Returns one group’s ordering state.
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for ExecutionGroupSchedule<'a>
impl<'a> RefUnwindSafe for ExecutionGroupSchedule<'a>
impl<'a> Send for ExecutionGroupSchedule<'a>
impl<'a> Sync for ExecutionGroupSchedule<'a>
impl<'a> Unpin for ExecutionGroupSchedule<'a>
impl<'a> UnsafeUnpin for ExecutionGroupSchedule<'a>
impl<'a> UnwindSafe for ExecutionGroupSchedule<'a>
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