Skip to main content

ExecutorExecutionCapacityDeferral

Struct ExecutorExecutionCapacityDeferral 

Source
pub struct ExecutorExecutionCapacityDeferral { /* private fields */ }

Implementations§

Source§

impl ExecutorExecutionCapacityDeferral

Source

pub fn from_backing_pressure( observed: ExecutorAdmissionEpochs, wait_condition: CapacityWaitCondition, pressure: DynamicBackingPressure, stage: ExecutorExecutionCapacityStage, ) -> Result<Self>

Construct a physical deferral for an executor that observes device or pool pressure directly rather than through Ferrum’s backing allocator.

Source

pub fn from_admission( deferred: &AdmissionDeferred, stage: ExecutorExecutionCapacityStage, ) -> Result<Self>

Source

pub fn from_pending_maintenance( deferred: &AdmissionDeferred, stage: ExecutorExecutionCapacityStage, ) -> Result<Self>

Export an unresolved logical backing-growth decision after the executor’s bounded in-call maintenance attempts are exhausted.

This remains a pre-submit scheduling deferral. The bound controls only how much allocator maintenance one executor call may perform; it must not turn temporary capacity pressure into a terminal request failure.

Source

pub fn from_backing( deferred: &DynamicBackingDeferred, stage: ExecutorExecutionCapacityStage, ) -> Result<Self>

Export unresolved physical backing pressure without discarding its exact pool/domain evidence.

Source

pub fn with_relevant_maintenance_retry( self, attempts: u32, receipts: &[DynamicPoolGrowthBatchReceipt], pools: &[DynamicPoolStatus], affected_request_ids: Vec<RequestId>, ) -> Result<Self>

Attach a scheduler retry only when this call produced at least one real physical mutation relevant to the final blocker. An empty or unrelated receipt set is an ordinary typed wait, not an internal error.

Source

pub fn from_admission_maintenance( source: &AdmissionDeferred, observed: ExecutorAdmissionEpochs, wait_condition: CapacityWaitCondition, pressure: DynamicBackingPressure, maintenance_boundary: Option<DynamicPoolMaintenanceBoundaryReceipt>, stage: ExecutorExecutionCapacityStage, ) -> Result<Self>

Source

pub fn from_backing_maintenance( source: &DynamicBackingDeferred, observed: ExecutorAdmissionEpochs, wait_condition: CapacityWaitCondition, pressure: DynamicBackingPressure, maintenance_boundary: Option<DynamicPoolMaintenanceBoundaryReceipt>, stage: ExecutorExecutionCapacityStage, ) -> Result<Self>

Source

pub const fn observed(&self) -> ExecutorAdmissionEpochs

Source

pub fn wait_condition(&self) -> &CapacityWaitCondition

Source

pub const fn stage(&self) -> ExecutorExecutionCapacityStage

Source

pub const fn evidence(&self) -> &ExecutorExecutionCapacityEvidence

Source

pub fn shortfalls(&self) -> &[CapacityShortfall]

Source

pub fn backing_blockers(&self) -> &[DynamicBackingBlocker]

Source

pub const fn backing_pressure(&self) -> Option<&DynamicBackingPressure>

Source

pub const fn maintenance_boundary( &self, ) -> Option<&DynamicPoolMaintenanceBoundaryReceipt>

Source

pub fn maintenance_retry(&self) -> Option<&ExecutorExecutionMaintenanceRetry>

Source

pub fn validated_maintenance_retry_scope( &self, current_request_ids: &[RequestId], ) -> Result<Option<&ExecutorExecutionMaintenanceRetry>>

Validate the bound retry scope against the authoritative logical frontiers in the current engine call.

Source

pub fn narrower_prefill_tokens(&self, attempted_tokens: usize) -> Option<usize>

Return a strictly smaller, capacity-informed prefill width.

This is a cold pressure-path hint, not allocator authority. The caller must probe the returned prefix through normal typed admission before any provider encode or device submission. A bounded reduction prevents a large frontier from producing an unbounded sequence of near-identical probes when the shortfall is small.

Trait Implementations§

Source§

impl Clone for ExecutorExecutionCapacityDeferral

Source§

fn clone(&self) -> ExecutorExecutionCapacityDeferral

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ExecutorExecutionCapacityDeferral

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for ExecutorExecutionCapacityDeferral

Source§

impl From<ExecutorExecutionCapacityDeferral> for ExecutorExecutionDeferral

Source§

fn from(deferral: ExecutorExecutionCapacityDeferral) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for ExecutorExecutionCapacityDeferral

Source§

fn eq(&self, other: &ExecutorExecutionCapacityDeferral) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for ExecutorExecutionCapacityDeferral

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for ExecutorExecutionCapacityDeferral

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V