pub struct SequenceSession<R>where
R: DeviceRuntime,{ /* private fields */ }Expand description
Core-owned logical sequence lifecycle. It owns sequence resources but no device stream; scheduler-owned execution lanes may serve many sessions.
Implementations§
Source§impl<R> SequenceSession<R>where
R: DeviceRuntime,
impl<R> SequenceSession<R>where
R: DeviceRuntime,
pub fn resources(&self) -> &Arc<AdmittedSequenceResources<R>> ⓘ
Sourcepub fn write_release_capacity_sources(
&self,
sources: &mut Vec<CapacityAvailabilitySource>,
) -> Result<(), VNextError>
pub fn write_release_capacity_sources( &self, sources: &mut Vec<CapacityAvailabilitySource>, ) -> Result<(), VNextError>
Projects the exact scheduler-visible sources advanced by terminally releasing this sequence authority.
pub const fn epoch(&self) -> SequenceSessionEpoch
pub fn fingerprint(&self) -> &SequenceSessionFingerprint
pub fn register_admission_waiter( &self, deferred: &AdmissionDeferred, ) -> Result<PlanCapacityWaitRegistration<R>, VNextError>
Sourcepub fn try_ensure_backing_covers(
self: &Arc<Self>,
request: SequenceResourceExtensionRequest,
) -> Result<SequenceResourceExtensionDecision<R>, VNextError>
pub fn try_ensure_backing_covers( self: &Arc<Self>, request: SequenceResourceExtensionRequest, ) -> Result<SequenceResourceExtensionDecision<R>, VNextError>
Ensures that the sequence-owned committed backing frontier covers the requested work without making an in-flight frame observe a different physical generation. A frontier already wider than the requested work is returned unchanged. Expensive preparation happens outside the session/backing locks; publication is one short slot -> backing critical section.
pub fn request_cancel( &self, ) -> Result<SequenceSessionCancelSnapshot, VNextError>
pub fn try_complete(&self) -> Result<SequenceSessionTerminalReceipt, VNextError>
pub fn try_abort(&self) -> Result<SequenceSessionTerminalReceipt, VNextError>
Sourcepub fn try_abort_if_quiescent(
&self,
) -> Result<SequenceSessionTerminalReceipt, VNextError>
pub fn try_abort_if_quiescent( &self, ) -> Result<SequenceSessionTerminalReceipt, VNextError>
Atomically abort an idle session without publishing an intermediate cancellation state.
Capacity preemption uses this transition after a provider reports a pre-submit deferral. If a frame or participant flight is still live, the operation fails without changing the session phase so its caller can reconcile the scheduling transaction without a half-cancelled sequence.