pub struct StructuralGraphCache(/* private fields */);Expand description
L1 in-memory LRU cache for structural graph results.
Capacity is controlled via APTU_CODER_STRUCTURAL_CACHE_CAPACITY env var (default 16).
Implementations§
Source§impl StructuralGraphCache
impl StructuralGraphCache
Sourcepub fn new(capacity: usize) -> Self
pub fn new(capacity: usize) -> Self
Create a new StructuralGraphCache with the given capacity.
capacity is clamped to a minimum of 1 so a zero value does not panic.
Sourcepub fn get(&self, key: &str) -> Option<StructuralGraphCacheValue>
pub fn get(&self, key: &str) -> Option<StructuralGraphCacheValue>
Look up a cached result by key. Returns None on miss or mutex poison.
Sourcepub fn put(&self, key: String, value: StructuralGraphCacheValue)
pub fn put(&self, key: String, value: StructuralGraphCacheValue)
Store a result in the cache.
Sourcepub fn eviction_count(&self) -> u64
pub fn eviction_count(&self) -> u64
Returns the number of LRU evictions that have occurred in this cache.
Trait Implementations§
Source§impl Clone for StructuralGraphCache
impl Clone for StructuralGraphCache
Source§fn clone(&self) -> StructuralGraphCache
fn clone(&self) -> StructuralGraphCache
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for StructuralGraphCache
impl RefUnwindSafe for StructuralGraphCache
impl Send for StructuralGraphCache
impl Sync for StructuralGraphCache
impl Unpin for StructuralGraphCache
impl UnsafeUnpin for StructuralGraphCache
impl UnwindSafe for StructuralGraphCache
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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