pub mod cache_manager;
pub mod cache_unit;
pub mod lru_queue;
mod file_metadata_cache;
mod list_files_cache;
pub use file_metadata_cache::DefaultFilesMetadataCache;
pub use list_files_cache::DefaultListFilesCache;
pub use list_files_cache::ListFilesEntry;
pub use list_files_cache::TableScopedPath;
pub trait CacheAccessor<K, V>: Send + Sync {
type Extra: Clone;
fn get(&self, k: &K) -> Option<V>;
fn get_with_extra(&self, k: &K, e: &Self::Extra) -> Option<V>;
fn put(&self, key: &K, value: V) -> Option<V>;
fn put_with_extra(&self, key: &K, value: V, e: &Self::Extra) -> Option<V>;
fn remove(&self, k: &K) -> Option<V>;
fn contains_key(&self, k: &K) -> bool;
fn len(&self) -> usize;
fn is_empty(&self) -> bool {
self.len() == 0
}
fn clear(&self);
fn name(&self) -> String;
}