pub struct UsageTracker { /* private fields */ }Implementations§
Trait Implementations§
Source§impl Extension for UsageTracker
impl Extension for UsageTracker
Source§fn on_response(
&self,
ctx: &RequestContext,
_request: &ChatCompletionRequest,
response: &ChatCompletionResponse,
) -> BoxFuture<'_, ()>
fn on_response( &self, ctx: &RequestContext, _request: &ChatCompletionRequest, response: &ChatCompletionResponse, ) -> BoxFuture<'_, ()>
Called after a non-streaming chat completion response arrives from the provider.
Source§fn on_chunk(
&self,
ctx: &RequestContext,
chunk: &ChatCompletionChunk,
) -> BoxFuture<'_, ()>
fn on_chunk( &self, ctx: &RequestContext, chunk: &ChatCompletionChunk, ) -> BoxFuture<'_, ()>
Called once per SSE chunk during a streaming response, before serialization.
Source§fn storage_key(&self, suffix: &[u8]) -> Vec<u8> ⓘ
fn storage_key(&self, suffix: &[u8]) -> Vec<u8> ⓘ
Build a full storage key by prepending this extension’s prefix to
suffix.Source§fn on_cache_lookup(
&self,
_request: &ChatCompletionRequest,
) -> Pin<Box<dyn Future<Output = Option<ChatCompletionResponse>> + Send + '_>>
fn on_cache_lookup( &self, _request: &ChatCompletionRequest, ) -> Pin<Box<dyn Future<Output = Option<ChatCompletionResponse>> + Send + '_>>
Check for a cached response before provider dispatch. Return
Some to
skip the provider call entirely. Called for non-streaming requests only.Source§fn on_request(
&self,
_ctx: &RequestContext,
) -> Pin<Box<dyn Future<Output = Result<(), ExtensionError>> + Send + '_>>
fn on_request( &self, _ctx: &RequestContext, ) -> Pin<Box<dyn Future<Output = Result<(), ExtensionError>> + Send + '_>>
Called post-auth, pre-dispatch. Return
Err to short-circuit the pipeline
(no provider call, no further extensions run).Auto Trait Implementations§
impl Freeze for UsageTracker
impl !RefUnwindSafe for UsageTracker
impl Send for UsageTracker
impl Sync for UsageTracker
impl Unpin for UsageTracker
impl UnsafeUnpin for UsageTracker
impl !UnwindSafe for UsageTracker
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