pub struct ResourceBudget { /* private fields */ }Expand description
One shared cap/usage tracker. LCS and blame slices use this type, not per-call helper counters.
Implementations§
Source§impl ResourceBudget
impl ResourceBudget
pub fn new(limits: ResourceUsage) -> Self
pub fn unlimited() -> Self
pub fn limit(&self, kind: ResourceKind) -> u64
pub fn used(&self) -> ResourceUsage
pub fn require( &mut self, kind: ResourceKind, needed: u64, ) -> Result<(), BudgetExceeded>
pub fn consume( &mut self, kind: ResourceKind, amount: u64, ) -> Result<(), BudgetExceeded>
pub fn record(&mut self, kind: ResourceKind, used: u64)
Trait Implementations§
Source§impl Clone for ResourceBudget
impl Clone for ResourceBudget
Source§fn clone(&self) -> ResourceBudget
fn clone(&self) -> ResourceBudget
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ResourceBudget
Source§impl Debug for ResourceBudget
impl Debug for ResourceBudget
impl Eq for ResourceBudget
Source§impl PartialEq for ResourceBudget
impl PartialEq for ResourceBudget
impl StructuralPartialEq for ResourceBudget
Auto Trait Implementations§
impl Freeze for ResourceBudget
impl RefUnwindSafe for ResourceBudget
impl Send for ResourceBudget
impl Sync for ResourceBudget
impl Unpin for ResourceBudget
impl UnsafeUnpin for ResourceBudget
impl UnwindSafe for ResourceBudget
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