pub struct ReportedTurnUsage {
pub input_tokens: u64,
pub cached_input_tokens: u64,
pub cache_write_input_tokens: u64,
pub output_tokens: u64,
pub reasoning_output_tokens: u64,
pub total_tokens: u64,
pub estimated_cost: Option<EstimatedUsdCost>,
pub cost_status: CostStatus,
}Expand description
Exact turn usage reported by an external backend.
Every field is named and required so wire adapters cannot silently swap or default adjacent token counters.
Fields§
§input_tokens: u64All input tokens billed or reported by the backend.
cached_input_tokens: u64Input tokens served from the backend’s prompt cache.
cache_write_input_tokens: u64Input tokens newly written into the backend’s prompt cache.
output_tokens: u64All output tokens billed or reported by the backend.
reasoning_output_tokens: u64Reasoning tokens included within output_tokens.
total_tokens: u64Backend-reported aggregate token count.
estimated_cost: Option<EstimatedUsdCost>Exact retained cost estimate, when one was reported.
cost_status: CostStatusAvailability and provenance of estimated_cost.
Trait Implementations§
Source§impl Clone for ReportedTurnUsage
impl Clone for ReportedTurnUsage
Source§fn clone(&self) -> ReportedTurnUsage
fn clone(&self) -> ReportedTurnUsage
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 moreSource§impl Debug for ReportedTurnUsage
impl Debug for ReportedTurnUsage
impl Eq for ReportedTurnUsage
Source§impl PartialEq for ReportedTurnUsage
impl PartialEq for ReportedTurnUsage
impl StructuralPartialEq for ReportedTurnUsage
Auto Trait Implementations§
impl Freeze for ReportedTurnUsage
impl RefUnwindSafe for ReportedTurnUsage
impl Send for ReportedTurnUsage
impl Sync for ReportedTurnUsage
impl Unpin for ReportedTurnUsage
impl UnsafeUnpin for ReportedTurnUsage
impl UnwindSafe for ReportedTurnUsage
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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.