pub struct L1Cache { /* private fields */ }Expand description
Exact-match cache: a capacity-bounded LRU with per-entry TTL. A single mutex suffices because the critical section is a hash lookup plus a clone.
Implementations§
Source§impl L1Cache
impl L1Cache
pub fn new(capacity: usize, ttl: Duration) -> Arc<Self> ⓘ
Sourcepub fn lookup(&self, req: &ChatRequest, tenant: &str) -> Option<ChatResponse>
pub fn lookup(&self, req: &ChatRequest, tenant: &str) -> Option<ChatResponse>
Look up an exact-match entry.
Every call is counted exactly once, as a hit or a miss, so
hits + misses == lookups always holds. Callers must not count misses
themselves.
pub fn insert(&self, req: &ChatRequest, tenant: &str, resp: &ChatResponse)
pub fn stats(&self) -> CacheStats
Auto Trait Implementations§
impl !Freeze for L1Cache
impl !RefUnwindSafe for L1Cache
impl Send for L1Cache
impl Sync for L1Cache
impl Unpin for L1Cache
impl UnsafeUnpin for L1Cache
impl UnwindSafe for L1Cache
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 more