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.

Performs the conversion.

Performs the conversion.

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.