pub struct ResourceQuota {
pub resource_type: ResourceType,
pub limit: Option<u64>,
pub soft_limit: Option<u64>,
pub time_window_secs: Option<u64>,
}Expand description
Resource quota definition
Fields§
§resource_type: ResourceTypeResource type
limit: Option<u64>Maximum allowed value (None = unlimited)
soft_limit: Option<u64>Soft limit for warnings
time_window_secs: Option<u64>Time window for rate-based limits (seconds)
Implementations§
Source§impl ResourceQuota
impl ResourceQuota
Sourcepub fn new(resource_type: ResourceType, limit: u64) -> Self
pub fn new(resource_type: ResourceType, limit: u64) -> Self
Create a new quota with hard limit
Sourcepub fn unlimited(resource_type: ResourceType) -> Self
pub fn unlimited(resource_type: ResourceType) -> Self
Create unlimited quota
Sourcepub fn with_soft_limit(self, soft_limit: u64) -> Self
pub fn with_soft_limit(self, soft_limit: u64) -> Self
Set soft limit
Sourcepub fn with_time_window(self, window_secs: u64) -> Self
pub fn with_time_window(self, window_secs: u64) -> Self
Set time window for rate limits
Sourcepub fn exceeds_hard_limit(&self, value: u64) -> bool
pub fn exceeds_hard_limit(&self, value: u64) -> bool
Check if value exceeds hard limit
Sourcepub fn exceeds_soft_limit(&self, value: u64) -> bool
pub fn exceeds_soft_limit(&self, value: u64) -> bool
Check if value exceeds soft limit
Trait Implementations§
Source§impl Clone for ResourceQuota
impl Clone for ResourceQuota
Source§fn clone(&self) -> ResourceQuota
fn clone(&self) -> ResourceQuota
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ResourceQuota
impl Debug for ResourceQuota
Source§impl<'de> Deserialize<'de> for ResourceQuota
impl<'de> Deserialize<'de> for ResourceQuota
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ResourceQuota
impl RefUnwindSafe for ResourceQuota
impl Send for ResourceQuota
impl Sync for ResourceQuota
impl Unpin for ResourceQuota
impl UnwindSafe for ResourceQuota
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.