pub struct TaskLease { /* private fields */ }Expand description
RAII ownership of one scheduler admission.
A normal lease consumes one global execution slot. A lease returned by
TaskScheduler::acquire_quota reserves only its quota dimensions, which
lets a leaf resource (such as a model generation) compose with an already
held session slot without recursive scheduler deadlock.
Implementations§
Source§impl TaskLease
impl TaskLease
Sourcepub fn identity(&self) -> Option<&ExecutionIdentityV1>
pub fn identity(&self) -> Option<&ExecutionIdentityV1>
Semantic identity carried by this admission, when one was supplied.
Sourcepub fn quota_identity(&self) -> Option<&ExecutionIdentityV1>
pub fn quota_identity(&self) -> Option<&ExecutionIdentityV1>
Digest-only owner quota identity applied to this admission, when any.
Sourcepub fn quota_identities(&self) -> &[ExecutionIdentityV1]
pub fn quota_identities(&self) -> &[ExecutionIdentityV1]
All digest-only quota identities applied to this admission.
The slice is empty for an unconstrained global admission. The first
identity is retained by Self::quota_identity for compatibility
with callers that only used the original single-quota API.
Sourcepub const fn consumes_global_slot(&self) -> bool
pub const fn consumes_global_slot(&self) -> bool
Whether this lease consumes one of the scheduler’s global slots.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for TaskLease
impl RefUnwindSafe for TaskLease
impl Send for TaskLease
impl Sync for TaskLease
impl Unpin for TaskLease
impl UnsafeUnpin for TaskLease
impl UnwindSafe for TaskLease
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> 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