pub struct ContextReserves {
pub thinking_tokens: u64,
pub tool_result_tokens: u64,
pub output_tokens: u64,
pub safety_margin_tokens: u64,
pub thinking_accounting: ThinkingAccounting,
}Expand description
Typed reserves carved out of the provider window before any context is admitted.
Fields§
§thinking_tokens: u64Thinking tokens reserved IN ADDITION to the output envelope. Zero on wires where thinking already spends from the output cap.
tool_result_tokens: u64§output_tokens: u64The request’s output envelope. On ThinkingAccounting::InsideOutputBudget
wires this is max(output_reserve, thinking_budget) — the wire
requires the output cap to cover thinking, so the larger governs.
safety_margin_tokens: u64§thinking_accounting: ThinkingAccountingThe wire semantics the thinking/output split was computed under.
Implementations§
Trait Implementations§
Source§impl Clone for ContextReserves
impl Clone for ContextReserves
Source§fn clone(&self) -> ContextReserves
fn clone(&self) -> ContextReserves
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 ContextReserves
Source§impl Debug for ContextReserves
impl Debug for ContextReserves
impl Eq for ContextReserves
Source§impl PartialEq for ContextReserves
impl PartialEq for ContextReserves
impl StructuralPartialEq for ContextReserves
Auto Trait Implementations§
impl Freeze for ContextReserves
impl RefUnwindSafe for ContextReserves
impl Send for ContextReserves
impl Sync for ContextReserves
impl Unpin for ContextReserves
impl UnsafeUnpin for ContextReserves
impl UnwindSafe for ContextReserves
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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 moreSource§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<'a, T> Prefix<&'a [T], T> for T
impl<'a, T> Prefix<&'a [T], T> for T
Source§fn take_prefix(&self, haystack: &'a [T]) -> Option<(T, &'a [T])>
fn take_prefix(&self, haystack: &'a [T]) -> Option<(T, &'a [T])>
Remove the prefix described by this prefix from the haystack if present, and if so,
return it along with the rest of the haystack.
Source§fn skip_prefix(&self, haystack: Parent) -> Option<Parent>
fn skip_prefix(&self, haystack: Parent) -> Option<Parent>
Remove the prefix described by this prefix from the haystack if present, and return
the rest of the haystack (result is ignored).