pub struct QuotaTracker { /* private fields */ }Expand description
In-memory concurrency quota ledger keyed by principal, app, and workspace (spec 109 FR-007b). Each dimension is tracked and enforced independently.
Implementations§
Source§impl QuotaTracker
impl QuotaTracker
pub fn new() -> Self
Sourcepub fn reserve(
&self,
principal: &str,
app_id: &str,
workspace_id: &str,
limits: &QuotaLimits,
) -> Result<QuotaReservation<'_>, QuotaDenial>
pub fn reserve( &self, principal: &str, app_id: &str, workspace_id: &str, limits: &QuotaLimits, ) -> Result<QuotaReservation<'_>, QuotaDenial>
Reserves one concurrent execution slot across all three dimensions, or denies and reserves nothing if any dimension is already at its limit.
§Errors
Returns QuotaDenial naming the first exhausted dimension, or a
"store"-scoped denial (fail closed) if an internal lock is poisoned
by a prior panicking holder.
Trait Implementations§
Source§impl Debug for QuotaTracker
impl Debug for QuotaTracker
Source§impl Default for QuotaTracker
impl Default for QuotaTracker
Source§fn default() -> QuotaTracker
fn default() -> QuotaTracker
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !Freeze for QuotaTracker
impl RefUnwindSafe for QuotaTracker
impl Send for QuotaTracker
impl Sync for QuotaTracker
impl Unpin for QuotaTracker
impl UnsafeUnpin for QuotaTracker
impl UnwindSafe for QuotaTracker
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
Source§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: Sized + AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: Sized + AsFilelike,
Set the “status” flags for the
self file descriptor. Read moreSource§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> ⓘ
Converts
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> ⓘ
Converts
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