pub struct ContextAssessment {
pub provider_window: u64,
pub breakdown: ContextBreakdown,
pub reserves: ContextReserves,
pub history_messages: usize,
}Expand description
One request-aware budget assessment. Pure data — frontends read the decision, they never recompute it.
Fields§
§provider_window: u64§breakdown: ContextBreakdown§reserves: ContextReserves§history_messages: usizeImplementations§
Source§impl ContextAssessment
impl ContextAssessment
Sourcepub fn used_tokens(&self) -> u64
pub fn used_tokens(&self) -> u64
Total conservative usage across every request segment.
Sourcepub fn budget_tokens(&self) -> u64
pub fn budget_tokens(&self) -> u64
Tokens the context may occupy after all reserves: window minus reserves, floored at zero (a window smaller than the reserves has no admissible context at all).
Sourcepub fn remaining_tokens(&self) -> u64
pub fn remaining_tokens(&self) -> u64
Remaining admissible capacity before the trigger fires.
Sourcepub fn should_compact(&self) -> bool
pub fn should_compact(&self) -> bool
The single cross-frontend compaction trigger: usage reached the budget AND there is enough history for a summary to fold.
Trait Implementations§
Source§impl Clone for ContextAssessment
impl Clone for ContextAssessment
impl Copy for ContextAssessment
Source§impl Debug for ContextAssessment
impl Debug for ContextAssessment
impl Eq for ContextAssessment
Source§impl PartialEq for ContextAssessment
impl PartialEq for ContextAssessment
impl StructuralPartialEq for ContextAssessment
Auto Trait Implementations§
impl Freeze for ContextAssessment
impl RefUnwindSafe for ContextAssessment
impl Send for ContextAssessment
impl Sync for ContextAssessment
impl Unpin for ContextAssessment
impl UnsafeUnpin for ContextAssessment
impl UnwindSafe for ContextAssessment
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,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.