pub struct DenseTransferSchedule<T> { /* private fields */ }Expand description
Ordered bounded transfer cursor used by dense streamed execution.
Implementations§
Source§impl<T> DenseTransferSchedule<T>
impl<T> DenseTransferSchedule<T>
Sourcepub fn new(
pending: impl IntoIterator<Item = usize>,
capacity: usize,
) -> Result<Self, DenseTransferScheduleError>
pub fn new( pending: impl IntoIterator<Item = usize>, capacity: usize, ) -> Result<Self, DenseTransferScheduleError>
Creates a cursor over the remaining unit indices.
Sourcepub fn has_ready(&self) -> bool
pub fn has_ready(&self) -> bool
Returns whether at least one submitted transfer is ready for consumption.
Sourcepub fn is_exhausted(&self) -> bool
pub fn is_exhausted(&self) -> bool
Returns whether no ready or pending units remain.
Sourcepub fn can_admit(&self) -> bool
pub fn can_admit(&self) -> bool
Returns whether another transfer may be admitted into the bounded ready window.
Sourcepub fn next_pending(&self) -> Option<usize>
pub fn next_pending(&self) -> Option<usize>
Returns the next unit which must be submitted.
Sourcepub fn desired_indices(&self, lookahead: usize) -> Vec<usize>
pub fn desired_indices(&self, lookahead: usize) -> Vec<usize>
Returns the current ready indices followed by future indices, truncated to lookahead.
Trait Implementations§
Auto Trait Implementations§
impl<T> Freeze for DenseTransferSchedule<T>
impl<T> RefUnwindSafe for DenseTransferSchedule<T>
impl<T> Send for DenseTransferSchedule<T>
impl<T> Sync for DenseTransferSchedule<T>
impl<T> Unpin for DenseTransferSchedule<T>
impl<T> UnsafeUnpin for DenseTransferSchedule<T>
impl<T> UnwindSafe for DenseTransferSchedule<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