pub struct MemoryBlobStore {
instance_name: String,
db: Arc<RwLock<HashMap<B3Digest, BlobMeta>>>,
}Expand description
In-memory BlobStore implementation.
Uses a HashMap<B3Digest, BlobMeta> behind an Arc<RwLock<_>> to allow cloning and concurrent access.
Fields§
§instance_name: String§db: Arc<RwLock<HashMap<B3Digest, BlobMeta>>>Trait Implementations§
Source§impl BlobStore for MemoryBlobStore
impl BlobStore for MemoryBlobStore
Source§fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
digest: &'life1 B3Digest,
) -> Pin<Box<dyn Future<Output = Result<Option<BlobMeta>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
digest: &'life1 B3Digest,
) -> Pin<Box<dyn Future<Output = Result<Option<BlobMeta>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Retrieves a BlobMeta for a given blob digest.
Source§impl Clone for MemoryBlobStore
impl Clone for MemoryBlobStore
Source§fn clone(&self) -> MemoryBlobStore
fn clone(&self) -> MemoryBlobStore
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Default for MemoryBlobStore
impl Default for MemoryBlobStore
Source§fn default() -> MemoryBlobStore
fn default() -> MemoryBlobStore
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for MemoryBlobStore
impl !RefUnwindSafe for MemoryBlobStore
impl Send for MemoryBlobStore
impl Sync for MemoryBlobStore
impl Unpin for MemoryBlobStore
impl UnsafeUnpin for MemoryBlobStore
impl !UnwindSafe for MemoryBlobStore
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestCreates a shared type from an unshared type.
§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].