pub struct BudgetOutcome {
pub tokens_used: usize,
pub tokens_remaining: Option<usize>,
pub memories_dropped: usize,
pub budget_overflow: bool,
}Expand description
Phase P6 — outcome of applying a token budget to a ranked recall
list. Carries everything mcp::handle_recall needs to populate the
new RecallMeta block (budget_tokens_used, budget_tokens_remaining,
memories_dropped, budget_overflow).
Fields§
§tokens_used: usizeCumulative cl100k_base token count of the returned content.
tokens_remaining: Option<usize>budget - tokens_used, saturating at 0. None when no budget set.
memories_dropped: usizeHow many candidates the budget cut from the ranked list.
budget_overflow: boolTrue iff the highest-ranked memory alone exceeded the budget and was returned anyway (R1 guarantee: at least one memory if any matched). Always false when no budget is set.
Trait Implementations§
Source§impl Clone for BudgetOutcome
impl Clone for BudgetOutcome
Source§fn clone(&self) -> BudgetOutcome
fn clone(&self) -> BudgetOutcome
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 moreAuto Trait Implementations§
impl Freeze for BudgetOutcome
impl RefUnwindSafe for BudgetOutcome
impl Send for BudgetOutcome
impl Sync for BudgetOutcome
impl Unpin for BudgetOutcome
impl UnsafeUnpin for BudgetOutcome
impl UnwindSafe for BudgetOutcome
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,
impl<T> ErasedDestructor for Twhere
T: 'static,
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 more