pub struct TaskSchedulerQuota {
pub identity: ExecutionIdentityV1,
pub max_active: usize,
}Expand description
Immutable capacity quota carried by one scheduler admission request.
The quota is deliberately a descriptor rather than a second queue or
semaphore. The scheduler actor remains the only authority that decides
whether work owns a global slot or a quota-only reservation; it additionally
refuses to admit more than max_active requests for this digest-only
capacity identity at once.
Fields§
§identity: ExecutionIdentityV1Digest-only identity of the run/host/provider scope consuming capacity.
max_active: usizeMaximum reservations this capacity identity may hold concurrently.
Implementations§
Source§impl TaskSchedulerQuota
impl TaskSchedulerQuota
Sourcepub fn new(
identity: ExecutionIdentityV1,
max_active: usize,
) -> Result<Self, TaskSchedulerError>
pub fn new( identity: ExecutionIdentityV1, max_active: usize, ) -> Result<Self, TaskSchedulerError>
Build and validate a capacity quota descriptor.
Sourcepub fn validate(&self) -> Result<(), TaskSchedulerError>
pub fn validate(&self) -> Result<(), TaskSchedulerError>
Validate a quota received from a host or a deserialized boundary.
Sourcepub fn for_scope(
scope: &str,
max_active: usize,
) -> Result<Self, TaskSchedulerError>
pub fn for_scope( scope: &str, max_active: usize, ) -> Result<Self, TaskSchedulerError>
Derive a digest-only quota identity from a bounded host/run scope.
The scope is used only during derivation and is never retained or emitted by scheduler diagnostics. Callers should use a stable run or host identifier, not a prompt or tool payload.
Sourcepub fn identity(&self) -> &ExecutionIdentityV1
pub fn identity(&self) -> &ExecutionIdentityV1
Return the immutable owner identity.
Trait Implementations§
Source§impl Clone for TaskSchedulerQuota
impl Clone for TaskSchedulerQuota
Source§fn clone(&self) -> TaskSchedulerQuota
fn clone(&self) -> TaskSchedulerQuota
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TaskSchedulerQuota
impl Debug for TaskSchedulerQuota
Source§impl<'de> Deserialize<'de> for TaskSchedulerQuota
impl<'de> Deserialize<'de> for TaskSchedulerQuota
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for TaskSchedulerQuota
Source§impl PartialEq for TaskSchedulerQuota
impl PartialEq for TaskSchedulerQuota
Source§impl Serialize for TaskSchedulerQuota
impl Serialize for TaskSchedulerQuota
impl StructuralPartialEq for TaskSchedulerQuota
Auto Trait Implementations§
impl Freeze for TaskSchedulerQuota
impl RefUnwindSafe for TaskSchedulerQuota
impl Send for TaskSchedulerQuota
impl Sync for TaskSchedulerQuota
impl Unpin for TaskSchedulerQuota
impl UnsafeUnpin for TaskSchedulerQuota
impl UnwindSafe for TaskSchedulerQuota
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more