pub struct SearchUsage {
pub actions: u32,
pub model_turns: u32,
pub tool_calls: u32,
pub mutations: u32,
pub verifier_runs: u32,
pub tokens: u64,
pub elapsed_secs: u64,
pub result_bytes: u64,
pub workspace_files: u64,
pub workspace_bytes: u64,
/* private fields */
}Expand description
Monotone usage. All fields are reserved-or-consumed totals; nothing
public decrements except SearchUsage::release_unused, which may only
return part of a held ticket — never below what was actually consumed.
Fields§
§actions: u32§model_turns: u32§tool_calls: u32§mutations: u32§verifier_runs: u32§tokens: u64§elapsed_secs: u64Wall-clock seconds charged against SearchLimits::elapsed_secs
(Definition 5’s time dimension; monotone like every other field).
result_bytes: u64§workspace_files: u64§workspace_bytes: u64Implementations§
Source§impl SearchUsage
impl SearchUsage
Sourcepub fn reserve(
&mut self,
limits: &SearchLimits,
request: ReservationRequest,
) -> Result<ReservationTicket>
pub fn reserve( &mut self, limits: &SearchLimits, request: ReservationRequest, ) -> Result<ReservationTicket>
Reserve one action’s resources. Consumes one action unit — action units are never returned — and fails without reserving anything if any limit would be exceeded or the forest is closed.
Sourcepub fn charge(
&mut self,
limits: &SearchLimits,
consumed: ReservationRequest,
) -> Result<()>
pub fn charge( &mut self, limits: &SearchLimits, consumed: ReservationRequest, ) -> Result<()>
Charge consumed actuals a reservation could not know in advance (observed turns, calls, mutations, verifier runs, tokens, bytes). Monotone; crossing any limit closes the forest by type — the error is terminal for further reservations.
Sourcepub fn charge_elapsed(
&mut self,
limits: &SearchLimits,
seconds: u64,
) -> Result<()>
pub fn charge_elapsed( &mut self, limits: &SearchLimits, seconds: u64, ) -> Result<()>
Charge one wall-clock interval (Definition 5’s time dimension).
Sourcepub fn release_unused(
&mut self,
ticket: ReservationTicket,
consumed: ReservationRequest,
)
pub fn release_unused( &mut self, ticket: ReservationTicket, consumed: ReservationRequest, )
Release the unused part of a held reservation. The action unit is never returned; each dimension may release at most what the ticket reserved.
pub fn is_closed(&self) -> bool
Trait Implementations§
Source§impl Clone for SearchUsage
impl Clone for SearchUsage
Source§fn clone(&self) -> SearchUsage
fn clone(&self) -> SearchUsage
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SearchUsage
impl Debug for SearchUsage
Source§impl Default for SearchUsage
impl Default for SearchUsage
Source§fn default() -> SearchUsage
fn default() -> SearchUsage
Source§impl<'de> Deserialize<'de> for SearchUsage
impl<'de> Deserialize<'de> for SearchUsage
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for SearchUsage
impl PartialEq for SearchUsage
Source§fn eq(&self, other: &SearchUsage) -> bool
fn eq(&self, other: &SearchUsage) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for SearchUsage
impl Serialize for SearchUsage
impl Eq for SearchUsage
impl StructuralPartialEq for SearchUsage
Auto Trait Implementations§
impl Freeze for SearchUsage
impl RefUnwindSafe for SearchUsage
impl Send for SearchUsage
impl Sync for SearchUsage
impl Unpin for SearchUsage
impl UnsafeUnpin for SearchUsage
impl UnwindSafe for SearchUsage
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.