pub struct DefaultListFilesCache { /* private fields */ }Expand description
Default implementation of ListFilesCache
Caches file metadata for file listing operations.
§Internal details
The memory_limit parameter controls the maximum size of the cache, which uses a Least
Recently Used eviction algorithm. When adding a new entry, if the total number of entries in
the cache exceeds memory_limit, the least recently used entries are evicted until the total
size is lower than the memory_limit.
§Cache API
Uses get and put methods for cache operations. TTL validation is handled internally -
expired entries return None from get.
Implementations§
Trait Implementations§
Source§impl CacheAccessor<TableScopedPath, CachedFileList> for DefaultListFilesCache
impl CacheAccessor<TableScopedPath, CachedFileList> for DefaultListFilesCache
Source§fn get(&self, key: &TableScopedPath) -> Option<CachedFileList>
fn get(&self, key: &TableScopedPath) -> Option<CachedFileList>
Get a cached entry if it exists. Read more
Source§fn put(
&self,
key: &TableScopedPath,
value: CachedFileList,
) -> Option<CachedFileList>
fn put( &self, key: &TableScopedPath, value: CachedFileList, ) -> Option<CachedFileList>
Store a value in the cache. Read more
Source§fn remove(&self, k: &TableScopedPath) -> Option<CachedFileList>
fn remove(&self, k: &TableScopedPath) -> Option<CachedFileList>
Remove an entry from the cache, returning the value if it existed.
Source§fn contains_key(&self, k: &TableScopedPath) -> bool
fn contains_key(&self, k: &TableScopedPath) -> bool
Check if the cache contains a specific key.
Source§impl Default for DefaultListFilesCache
impl Default for DefaultListFilesCache
Source§impl ListFilesCache for DefaultListFilesCache
impl ListFilesCache for DefaultListFilesCache
Source§fn cache_limit(&self) -> usize
fn cache_limit(&self) -> usize
Returns the cache’s memory limit in bytes.
Source§fn cache_ttl(&self) -> Option<Duration>
fn cache_ttl(&self) -> Option<Duration>
Returns the TTL (time-to-live) for cache entries, if configured.
Source§fn update_cache_limit(&self, limit: usize)
fn update_cache_limit(&self, limit: usize)
Updates the cache with a new memory limit in bytes.
Source§fn update_cache_ttl(&self, ttl: Option<Duration>)
fn update_cache_ttl(&self, ttl: Option<Duration>)
Updates the cache with a new TTL (time-to-live).
Source§fn list_entries(&self) -> HashMap<TableScopedPath, ListFilesEntry>
fn list_entries(&self) -> HashMap<TableScopedPath, ListFilesEntry>
Retrieves the information about the entries currently cached.
Source§fn drop_table_entries(&self, table_ref: &Option<TableReference>) -> Result<()>
fn drop_table_entries(&self, table_ref: &Option<TableReference>) -> Result<()>
Drop all entries for the given table reference.
Auto Trait Implementations§
impl !Freeze for DefaultListFilesCache
impl !RefUnwindSafe for DefaultListFilesCache
impl Send for DefaultListFilesCache
impl Sync for DefaultListFilesCache
impl Unpin for DefaultListFilesCache
impl UnsafeUnpin for DefaultListFilesCache
impl !UnwindSafe for DefaultListFilesCache
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> 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