Skip to main content

CaptureLedger

Struct CaptureLedger 

Source
pub struct CaptureLedger { /* private fields */ }
Expand description

Monotone per-run ledger. Reservations cannot be refunded after work begins.

Implementations§

Source§

impl CaptureLedger

Source

pub fn new(plan: &AdmittedCapturePlan) -> Self

Creates a fresh run ledger with the admitted limits.

Source

pub fn with_inherited_usage( plan: &AdmittedCapturePlan, inherited: CaptureUsage, ) -> Result<Self, CaptureError>

Starts an independently admitted child ledger with the usage already consumed at its fork boundary. Inherited usage counts against the child’s cumulative limits, but not its next step. Later parent work is separate.

Source

pub fn begin_step(&mut self)

Resets step reservations while preserving cumulative accounting.

Source

pub fn step(&self) -> CaptureUsage

Returns current step reservations.

Source

pub fn total(&self) -> CaptureUsage

Returns cumulative reservations.

Source

pub fn reserve( &mut self, usage: CaptureUsage, ) -> Result<Option<CaptureSkipReason>, CaptureError>

Charges a conservative reservation before native work; skipped reservations are not charged.

Trait Implementations§

Source§

impl Debug for CaptureLedger

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.