pub struct FeedMemoryPersistence { /* private fields */ }Expand description
In-memory storage for random access
Implementations§
Source§impl RandomAccessMemory
impl RandomAccessMemory
Sourcepub fn new(page_size: usize) -> RandomAccessMemory
pub fn new(page_size: usize) -> RandomAccessMemory
Create a new instance with page_size in bytes.
Sourcepub fn with_buffers(
page_size: usize,
buffers: IntMap<Vec<u8>>,
) -> RandomAccessMemory
pub fn with_buffers( page_size: usize, buffers: IntMap<Vec<u8>>, ) -> RandomAccessMemory
Create a new instance with page_size in bytes, but pass the initial buffers to the constructor.
Trait Implementations§
Source§impl Debug for RandomAccessMemory
impl Debug for RandomAccessMemory
Source§impl Default for RandomAccessMemory
impl Default for RandomAccessMemory
Source§fn default() -> RandomAccessMemory
fn default() -> RandomAccessMemory
Create a new instance with a 1mb page size.
Source§impl RandomAccess for RandomAccessMemory
impl RandomAccess for RandomAccessMemory
Source§fn write<'life0, 'life1, 'async_trait>(
&'life0 mut self,
offset: u64,
data: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = Result<(), RandomAccessError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
RandomAccessMemory: 'async_trait,
fn write<'life0, 'life1, 'async_trait>(
&'life0 mut self,
offset: u64,
data: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = Result<(), RandomAccessError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
RandomAccessMemory: 'async_trait,
Source§fn sync_all<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<(), RandomAccessError>> + Send + 'async_trait>>where
'life0: 'async_trait,
RandomAccessMemory: 'async_trait,
fn sync_all<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<(), RandomAccessError>> + Send + 'async_trait>>where
'life0: 'async_trait,
RandomAccessMemory: 'async_trait,
Flush buffered data on the underlying storage resource. Read more
Source§fn read<'life0, 'async_trait>(
&'life0 mut self,
offset: u64,
length: u64,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, RandomAccessError>> + Send + 'async_trait>>where
'life0: 'async_trait,
RandomAccessMemory: 'async_trait,
fn read<'life0, 'async_trait>(
&'life0 mut self,
offset: u64,
length: u64,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, RandomAccessError>> + Send + 'async_trait>>where
'life0: 'async_trait,
RandomAccessMemory: 'async_trait,
Read a sequence of bytes at an
offset from the backend. Read moreSource§fn del<'life0, 'async_trait>(
&'life0 mut self,
offset: u64,
length: u64,
) -> Pin<Box<dyn Future<Output = Result<(), RandomAccessError>> + Send + 'async_trait>>where
'life0: 'async_trait,
RandomAccessMemory: 'async_trait,
fn del<'life0, 'async_trait>(
&'life0 mut self,
offset: u64,
length: u64,
) -> Pin<Box<dyn Future<Output = Result<(), RandomAccessError>> + Send + 'async_trait>>where
'life0: 'async_trait,
RandomAccessMemory: 'async_trait,
Delete a sequence of bytes of given
length at an offset from the backend.
This either sets the bytes in the given slice to zeroes, or if
offset + length >= RandomAccess::len() is the same as
truncate(offset). Read moreSource§fn truncate<'life0, 'async_trait>(
&'life0 mut self,
length: u64,
) -> Pin<Box<dyn Future<Output = Result<(), RandomAccessError>> + Send + 'async_trait>>where
'life0: 'async_trait,
RandomAccessMemory: 'async_trait,
fn truncate<'life0, 'async_trait>(
&'life0 mut self,
length: u64,
) -> Pin<Box<dyn Future<Output = Result<(), RandomAccessError>> + Send + 'async_trait>>where
'life0: 'async_trait,
RandomAccessMemory: 'async_trait,
Resize the sequence of bytes so that RandomAccess::len() is set to
length. If length < RandomAccess::len(), the bytes are disregarded.
If length > RandomAccess::len(), the storage is zero-padded. Read moreSource§fn len<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<u64, RandomAccessError>> + Send + 'async_trait>>where
'life0: 'async_trait,
RandomAccessMemory: 'async_trait,
fn len<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<u64, RandomAccessError>> + Send + 'async_trait>>where
'life0: 'async_trait,
RandomAccessMemory: 'async_trait,
Get the size of the storage in bytes. Read more
Source§fn is_empty<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<bool, RandomAccessError>> + Send + 'async_trait>>where
'life0: 'async_trait,
RandomAccessMemory: 'async_trait,
fn is_empty<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<bool, RandomAccessError>> + Send + 'async_trait>>where
'life0: 'async_trait,
RandomAccessMemory: 'async_trait,
Whether the storage is empty. For some storage backends it may be
cheaper to calculate whether the storage is empty than to calculate the
length. Read more
Auto Trait Implementations§
impl Freeze for RandomAccessMemory
impl RefUnwindSafe for RandomAccessMemory
impl Send for RandomAccessMemory
impl Sync for RandomAccessMemory
impl Unpin for RandomAccessMemory
impl UnwindSafe for RandomAccessMemory
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> 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