Struct freqfs::Cache

source ·
pub struct Cache<FE> { /* private fields */ }
Expand description

An in-memory cache layer over tokio::fs with least-frequently-used (LFU) eviction.

Implementations§

Initialize the cache.

cleanup_interval specifies how often cache cleanup should run in the background. max_file_handles specifies how many files are allowed to be evicted at once. If not specified, max_file_handles will default to 512.

This function should only be called once.

Panics: if max_file_handles is Some(0)

Load a filesystem directory into the cache.

After loading, all interactions with files under this directory should go through a DirLock or FileLock.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Cast an instance of T into an instance of Self.
Cast an instance of Self into an instance of T.

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Returns true if self can be cast into the target type T.
Test if value can be cast into Self.
Returns Some(Self) if the source value can be cast into Self, otherwise None.
Returns Ok(Self) if the source value can be cast into Self, otherwise calls on_err.
Test if self can be cast into T.
Returns Some(T) if self can be cast into T, otherwise None.
Returns Ok(T) if self can be cast into T, otherwise calls on_err.
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.