pub struct TokenBudget { /* private fields */ }Expand description
A token budget that tracks spending against a maximum allocation.
Implementations§
Source§impl TokenBudget
impl TokenBudget
Sourcepub fn max_tokens(&self) -> u64
pub fn max_tokens(&self) -> u64
Maximum tokens allowed.
Sourcepub fn used_tokens(&self) -> u64
pub fn used_tokens(&self) -> u64
Tokens consumed so far.
Sourcepub fn spend(&mut self, tokens: u64) -> bool
pub fn spend(&mut self, tokens: u64) -> bool
Spend tokens from the budget. Returns true if the budget was
sufficient, false if it would exceed the limit (in which case
the spend is still applied to track overruns).
Sourcepub fn is_exhausted(&self) -> bool
pub fn is_exhausted(&self) -> bool
Whether the budget is fully consumed.
Sourcepub fn can_afford(&self, cost: u64) -> bool
pub fn can_afford(&self, cost: u64) -> bool
Check if a given cost can be afforded without exceeding the budget.
Sourcepub fn utilization(&self) -> f64
pub fn utilization(&self) -> f64
Utilization ratio in [0.0, 1.0+] (can exceed 1.0 if overspent).
Trait Implementations§
Source§impl Clone for TokenBudget
impl Clone for TokenBudget
Source§fn clone(&self) -> TokenBudget
fn clone(&self) -> TokenBudget
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 TokenBudget
impl Debug for TokenBudget
Source§impl<'de> Deserialize<'de> for TokenBudget
impl<'de> Deserialize<'de> for TokenBudget
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 TokenBudget
impl RefUnwindSafe for TokenBudget
impl Send for TokenBudget
impl Sync for TokenBudget
impl Unpin for TokenBudget
impl UnsafeUnpin for TokenBudget
impl UnwindSafe for TokenBudget
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