pub struct MemoryChunkStore {
instance_name: String,
db: Arc<RwLock<HashMap<B3Digest, Chunk>>>,
}Expand description
In-memory ChunkStore implementation.
Uses a HashMap<B3Digest, Chunk> behind an Arc<RwLock<_>> to allow cloning and concurrent access.
Fields§
§instance_name: String§db: Arc<RwLock<HashMap<B3Digest, Chunk>>>Implementations§
Source§impl MemoryChunkStore
impl MemoryChunkStore
Sourcepub fn new(instance_name: String) -> Self
pub fn new(instance_name: String) -> Self
Constructs a new in-memory ChunkStore with the given instance_name.
Trait Implementations§
Source§impl ChunkStore for MemoryChunkStore
impl ChunkStore for MemoryChunkStore
Source§fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
digest: &'life1 B3Digest,
) -> Pin<Box<dyn Future<Output = Result<Option<Chunk>, 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<Chunk>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§impl Clone for MemoryChunkStore
impl Clone for MemoryChunkStore
Source§fn clone(&self) -> MemoryChunkStore
fn clone(&self) -> MemoryChunkStore
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 MemoryChunkStore
impl Default for MemoryChunkStore
Source§fn default() -> MemoryChunkStore
fn default() -> MemoryChunkStore
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for MemoryChunkStore
impl !RefUnwindSafe for MemoryChunkStore
impl Send for MemoryChunkStore
impl Sync for MemoryChunkStore
impl Unpin for MemoryChunkStore
impl UnsafeUnpin for MemoryChunkStore
impl !UnwindSafe for MemoryChunkStore
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].