pub struct ResponseCache { /* private fields */ }Implementations§
Source§impl ResponseCache
impl ResponseCache
pub fn new(pool: SqlitePool, ttl_secs: u64) -> Self
Sourcepub async fn get(&self, key: &str) -> Result<Option<String>, MemoryError>
pub async fn get(&self, key: &str) -> Result<Option<String>, MemoryError>
Look up a cached response by key. Returns None if not found or expired.
§Errors
Returns an error if the database query fails.
Sourcepub async fn cleanup_expired(&self) -> Result<u64, MemoryError>
pub async fn cleanup_expired(&self) -> Result<u64, MemoryError>
Delete expired cache entries. Returns the number of rows deleted.
§Errors
Returns an error if the database delete fails.
Sourcepub fn compute_key(messages: &[Message], model: &str) -> String
pub fn compute_key(messages: &[Message], model: &str) -> String
Compute a deterministic cache key from messages and model name using blake3.
Auto Trait Implementations§
impl Freeze for ResponseCache
impl !RefUnwindSafe for ResponseCache
impl Send for ResponseCache
impl Sync for ResponseCache
impl Unpin for ResponseCache
impl UnsafeUnpin for ResponseCache
impl !UnwindSafe for ResponseCache
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> 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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request