Struct TenantQuota
pub struct TenantQuota {
pub max_concurrent_kernels: u32,
pub max_gpu_memory_bytes: u64,
pub max_messages_per_sec: u64,
pub per_engagement_budget: HashMap<u64, Duration>,
}Expand description
Per-tenant quota and cost tracking limits.
Unlike the governance-level crate::tenancy::ResourceQuota, this is the
hot-path quota checked on every K2K send.
Fields§
§max_concurrent_kernels: u32Maximum concurrent kernels this tenant may register.
max_gpu_memory_bytes: u64Maximum GPU memory (bytes) the tenant may allocate.
max_messages_per_sec: u64Maximum messages per second across all of the tenant’s kernels.
per_engagement_budget: HashMap<u64, Duration>Per-engagement billable-time budgets, keyed by
AuditTag::engagement_id. Absent entries = no budget configured.
Implementations§
§impl TenantQuota
impl TenantQuota
pub fn unlimited() -> TenantQuota
pub fn unlimited() -> TenantQuota
Create a quota with no hard limits (useful for tests / trusted tenants).
pub fn standard() -> TenantQuota
pub fn standard() -> TenantQuota
Create a modest default quota: 16 kernels, 2 GiB, 100k msgs/sec.
pub fn with_engagement_budget(
self,
engagement_id: u64,
budget: Duration,
) -> TenantQuota
pub fn with_engagement_budget( self, engagement_id: u64, budget: Duration, ) -> TenantQuota
Set a budget for a specific engagement.
Trait Implementations§
§impl Clone for TenantQuota
impl Clone for TenantQuota
§fn clone(&self) -> TenantQuota
fn clone(&self) -> TenantQuota
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 more§impl Debug for TenantQuota
impl Debug for TenantQuota
§impl Default for TenantQuota
impl Default for TenantQuota
§fn default() -> TenantQuota
fn default() -> TenantQuota
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for TenantQuota
impl RefUnwindSafe for TenantQuota
impl Send for TenantQuota
impl Sync for TenantQuota
impl Unpin for TenantQuota
impl UnwindSafe for TenantQuota
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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,
§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
§fn deserialize(
&self,
deserializer: &mut D,
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D, ) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.