pub struct CallGraphCache { /* private fields */ }Expand description
L1 in-memory LRU cache for call graph results.
Capacity is controlled via APTU_CODER_SYMBOL_CACHE_CAPACITY env var (default 32).
Implementations§
Source§impl CallGraphCache
impl CallGraphCache
Sourcepub fn new(capacity: usize) -> Self
pub fn new(capacity: usize) -> Self
Create a new CallGraphCache with the given capacity.
capacity is clamped to a minimum of 1 so a zero value does not panic.
Sourcepub fn get(&self, key: &CallGraphCacheKey) -> Option<CallGraphCacheValue>
pub fn get(&self, key: &CallGraphCacheKey) -> Option<CallGraphCacheValue>
Look up a cached result by key. Returns None on miss or mutex poison.
Sourcepub fn put(&self, key: CallGraphCacheKey, value: CallGraphCacheValue)
pub fn put(&self, key: CallGraphCacheKey, value: CallGraphCacheValue)
Store a result in the cache.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for CallGraphCache
impl RefUnwindSafe for CallGraphCache
impl Send for CallGraphCache
impl Sync for CallGraphCache
impl Unpin for CallGraphCache
impl UnsafeUnpin for CallGraphCache
impl UnwindSafe for CallGraphCache
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