Struct vapcore_db::cache_manager::CacheManager[][src]

pub struct CacheManager<T> { /* fields omitted */ }

DB cache manager

Implementations

impl<T> CacheManager<T> where
    T: Eq + Hash
[src]

pub fn new(
    pref_cache_size: usize,
    max_cache_size: usize,
    bytes_per_cache_entry: usize
) -> Self
[src]

Create new cache manager with preferred (heap) sizes.

pub fn note_used(&mut self, id: T)[src]

Mark element as used.

pub fn collect_garbage<F>(&mut self, current_size: usize, notify_unused: F) where
    F: FnMut(HashSet<T>) -> usize
[src]

Collects unused objects from cache. First params is the current size of the cache. Second one is an with objects to remove. It should also return new size of the cache.

Auto Trait Implementations

impl<T> RefUnwindSafe for CacheManager<T> where
    T: RefUnwindSafe

impl<T> Send for CacheManager<T> where
    T: Send

impl<T> Sync for CacheManager<T> where
    T: Sync

impl<T> Unpin for CacheManager<T> where
    T: Unpin

impl<T> UnwindSafe for CacheManager<T> where
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,