pub struct BlobCache<B> { /* private fields */ }
Expand description

A disk-backed cache for objects in Blob storage.

The data for the objects in the cache is stored on disk, mmap’d, and a validated handle is stored in-memory to avoid repeatedly decoding it.

TODO: Add a limit to bound how much disk this cache can use. The Arc return type for get_batch seems correct, but means that a bad user could starve the cache by indefinitely holding handles. The Arcs could be made into weak references so the cache could forcefully reclaim the backing data, but this is going to make performance of using the cached batches unpredictable. I think we probably want a soft limit and a hard limit where the soft limit does some alerting and the hard limit starts blocking (or erroring) until disk space frees up.

Implementations

Returns a new, empty cache for the given Blob storage.

Asynchronously returns the batch for the given key, fetching in another thread if it’s not already in the cache.

Writes a batch to backing Blob storage.

Returns the size of the encoded blob value in bytes.

Removes a batch from both Blob storage and the local cache.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

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

Returns the argument unchanged.

Attaches the provided Context to this type, returning a WithContext wrapper. Read more

Attaches the current Context to this type, returning a WithContext wrapper. Read more

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

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

Wrap the input message T in a tonic::Request

Upcasts this ProgressEventTimestamp to Any. Read more

Returns the name of the concrete type of this object. Read more

Should always be Self

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

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.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more