pub struct ActiveSequencePermit<'resources, 'exec, R>where
R: DeviceRuntime,{ /* private fields */ }Expand description
Non-cloneable guard for an admitted active-sequence slot. Dispatch borrows this permit; the sequence owner retains it until all asynchronous work is synchronized or cancelled.
Implementations§
Source§impl<'resources, 'exec, R> ActiveSequencePermit<'resources, 'exec, R>where
R: DeviceRuntime,
impl<'resources, 'exec, R> ActiveSequencePermit<'resources, 'exec, R>where
R: DeviceRuntime,
pub fn resources(&self) -> &'resources AdmittedSequenceResources<R>
pub fn run_id(&self) -> &RunId
pub fn request_id(&self) -> &RequestIdentity
pub fn coordinator_id(&self) -> LogicalAdmissionCoordinatorId
pub fn backing_slices(&self) -> &[LogicalBackingSliceAuthority]
pub const fn activation_epoch(&self) -> u64
pub fn runtime_implementation_fingerprint(&self) -> &str
Sourcepub fn synchronize(
self,
) -> Result<SynchronizedSequencePermit<'resources, 'exec, R>, SequenceSynchronizationFailure<'resources, 'exec, R>>
pub fn synchronize( self, ) -> Result<SynchronizedSequencePermit<'resources, 'exec, R>, SequenceSynchronizationFailure<'resources, 'exec, R>>
Consumes dispatch authority before draining the exact bound stream.
Successful synchronization returns a different typestate that cannot
be passed back to OperationDispatch.
Trait Implementations§
Source§impl<R> Drop for ActiveSequencePermit<'_, '_, R>where
R: DeviceRuntime,
impl<R> Drop for ActiveSequencePermit<'_, '_, R>where
R: DeviceRuntime,
Auto Trait Implementations§
impl<'resources, 'exec, R> !RefUnwindSafe for ActiveSequencePermit<'resources, 'exec, R>
impl<'resources, 'exec, R> !UnwindSafe for ActiveSequencePermit<'resources, 'exec, R>
impl<'resources, 'exec, R> Freeze for ActiveSequencePermit<'resources, 'exec, R>where
&'resources AdmittedSequenceResources<R>: Freeze,
Arc<SequenceBackingSnapshot<R>>: Freeze,
&'exec mut BoundExecutionStream<R>: Freeze,
impl<'resources, 'exec, R> Send for ActiveSequencePermit<'resources, 'exec, R>where
&'resources AdmittedSequenceResources<R>: Send,
Arc<SequenceBackingSnapshot<R>>: Send,
&'exec mut BoundExecutionStream<R>: Send,
impl<'resources, 'exec, R> Sync for ActiveSequencePermit<'resources, 'exec, R>where
&'resources AdmittedSequenceResources<R>: Sync,
Arc<SequenceBackingSnapshot<R>>: Sync,
&'exec mut BoundExecutionStream<R>: Sync,
impl<'resources, 'exec, R> Unpin for ActiveSequencePermit<'resources, 'exec, R>where
&'resources AdmittedSequenceResources<R>: Unpin,
Arc<SequenceBackingSnapshot<R>>: Unpin,
&'exec mut BoundExecutionStream<R>: Unpin,
impl<'resources, 'exec, R> UnsafeUnpin for ActiveSequencePermit<'resources, 'exec, R>where
&'resources AdmittedSequenceResources<R>: UnsafeUnpin,
Arc<SequenceBackingSnapshot<R>>: UnsafeUnpin,
&'exec mut BoundExecutionStream<R>: UnsafeUnpin,
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