pub struct Mem { /* private fields */ }Expand description
An in-memory ObjectStore. Generations increase monotonically across
the whole store, like GCS.
Implementations§
Source§impl Mem
impl Mem
Sourcepub fn with_max_inflated(self, limit: u64) -> Self
pub fn with_max_inflated(self, limit: u64) -> Self
Refuse to decode an encoded object past limit bytes
(Error::TooLarge); the default is MAX_INFLATED_BYTES.
Sourcepub fn inject(&self, fault: Fault)
pub fn inject(&self, fault: Fault)
Queue a fault for a future operation (consumed in order, one per call).
Sourcepub fn inject_after(&self, skip: u64, fault: Fault)
pub fn inject_after(&self, skip: u64, fault: Fault)
Let skip operations through, then apply fault — for crash tests
that fail each step of a multi-operation protocol in turn.
Sourcepub fn clear_faults(&self)
pub fn clear_faults(&self)
Drop every queued fault.
Trait Implementations§
Source§impl ObjectStore for Mem
impl ObjectStore for Mem
Source§fn get<'a>(&'a self, key: &'a str) -> Self::Get<'a>
fn get<'a>(&'a self, key: &'a str) -> Self::Get<'a>
The whole object, or
None if it does not exist.Source§fn get_range<'a>(
&'a self,
key: &'a str,
range: Range<u64>,
) -> Self::GetRange<'a>
fn get_range<'a>( &'a self, key: &'a str, range: Range<u64>, ) -> Self::GetRange<'a>
Bytes
range of the object. A range running past the end is clipped;
a range starting at or past the end is an empty body. A missing object
is Error::NotFound.Source§fn put<'a>(&'a self, key: &'a str, body: Bytes, cond: Cond) -> Self::Put<'a>
fn put<'a>(&'a self, key: &'a str, body: Bytes, cond: Cond) -> Self::Put<'a>
Write
body under key if cond holds; returns the new generation.Source§fn list<'a>(&'a self, prefix: &'a str) -> Self::List<'a>
fn list<'a>(&'a self, prefix: &'a str) -> Self::List<'a>
Every object whose key starts with
prefix, sorted by key. An empty
prefix lists everything; a non-empty prefix is validated like a key
(a trailing / is allowed).Source§fn delete<'a>(&'a self, key: &'a str) -> Self::Delete<'a>
fn delete<'a>(&'a self, key: &'a str) -> Self::Delete<'a>
Remove the object. Deleting a missing key succeeds.
Source§fn put_encoded<'a>(
&'a self,
key: &'a str,
body: Bytes,
cond: Cond,
encoding: ContentEncoding,
) -> impl Future<Output = Result<u64>> + 'a
fn put_encoded<'a>( &'a self, key: &'a str, body: Bytes, cond: Cond, encoding: ContentEncoding, ) -> impl Future<Output = Result<u64>> + 'a
Like
put, storing body compressed with
encoding and recording the encoding, so get
returns body again and get_range refuses
with Error::EncodedRange. Conditions behave exactly as for put. Read moreAuto Trait Implementations§
impl !Freeze for Mem
impl RefUnwindSafe for Mem
impl Send for Mem
impl Sync for Mem
impl Unpin for Mem
impl UnsafeUnpin for Mem
impl UnwindSafe for Mem
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