pub struct CacheSnapshotStore { /* private fields */ }Expand description
Session-scoped previous-component snapshot (see module docs). Shared via
Arc inside TraceContext; all mutation is under one internal mutex so
compare-and-update is atomic per emitted request.
Implementations§
Source§impl CacheSnapshotStore
impl CacheSnapshotStore
pub fn new() -> Self
Sourcepub fn compare_and_update(
&self,
key: Option<&TraceDigestKey>,
tools_schema: &[Value],
system_prompt: Option<&str>,
messages: &[SharedMessage],
) -> CacheDiagnostics
pub fn compare_and_update( &self, key: Option<&TraceDigestKey>, tools_schema: &[Value], system_prompt: Option<&str>, messages: &[SharedMessage], ) -> CacheDiagnostics
Compare the current request’s components against the previous
snapshot, update the snapshot, and return the diagnostics. Requires
the digest key — without it no digests exist to compare, so the
caller gets CacheDiagnostics::default() and the snapshot is left
untouched (never cleared: a transient key failure must not turn the
next successful comparison into a spurious New).
Sourcepub fn last_activity(&self) -> Option<CacheActivity>
pub fn last_activity(&self) -> Option<CacheActivity>
Latest computed cache activity (for /context).
Trait Implementations§
Source§impl Debug for CacheSnapshotStore
impl Debug for CacheSnapshotStore
Auto Trait Implementations§
impl !Freeze for CacheSnapshotStore
impl RefUnwindSafe for CacheSnapshotStore
impl Send for CacheSnapshotStore
impl Sync for CacheSnapshotStore
impl Unpin for CacheSnapshotStore
impl UnsafeUnpin for CacheSnapshotStore
impl UnwindSafe for CacheSnapshotStore
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> 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.