pub struct MemoryStorageInterface<Id, Element>{ /* private fields */ }
Expand description
Use the [sled] database to save results to an embedded database.
Trait Implementations§
Source§impl<Id, Element> Clone for MemoryStorageInterface<Id, Element>
impl<Id, Element> Clone for MemoryStorageInterface<Id, Element>
Source§fn clone(&self) -> MemoryStorageInterface<Id, Element>
fn clone(&self) -> MemoryStorageInterface<Id, Element>
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<Id, Element> Debug for MemoryStorageInterface<Id, Element>
impl<Id, Element> Debug for MemoryStorageInterface<Id, Element>
Source§impl<Id, Element> StorageInterfaceLoad<Id, Element> for MemoryStorageInterface<Id, Element>
impl<Id, Element> StorageInterfaceLoad<Id, Element> for MemoryStorageInterface<Id, Element>
Source§fn load_single_element(
&self,
iteration: u64,
identifier: &Id,
) -> Result<Option<Element>, StorageError>
fn load_single_element( &self, iteration: u64, identifier: &Id, ) -> Result<Option<Element>, StorageError>
Loads a single element from the storage solution if the element exists.
Source§fn load_all_elements_at_iteration(
&self,
iteration: u64,
) -> Result<HashMap<Id, Element>, StorageError>
fn load_all_elements_at_iteration( &self, iteration: u64, ) -> Result<HashMap<Id, Element>, StorageError>
Gets a snapshot of all elements at a given iteration. Read more
Source§fn load_all_elements(
&self,
) -> Result<BTreeMap<u64, HashMap<Id, Element>>, StorageError>
fn load_all_elements( &self, ) -> Result<BTreeMap<u64, HashMap<Id, Element>>, StorageError>
Loads all elements for every iteration.
This will yield the complete storage and may result in extremely large allocations of
memory.
Source§fn get_all_iterations(&self) -> Result<Vec<u64>, StorageError>
fn get_all_iterations(&self) -> Result<Vec<u64>, StorageError>
Get all iteration values which have been saved.
Source§fn load_element_history(
&self,
identifier: &Id,
) -> Result<HashMap<u64, Element>, StorageError>
fn load_element_history( &self, identifier: &Id, ) -> Result<HashMap<u64, Element>, StorageError>
Loads the elements history, meaning every occurrence of the element in the storage.
This function by default provides the results in ordered fashion such that the time
direction is retained.
Furthermore this function assumes that a given index occurs over the course of a complete
time segment with no interceptions. Read more
Source§fn load_all_element_histories(
&self,
) -> Result<HashMap<Id, BTreeMap<u64, Element>>, StorageError>
fn load_all_element_histories( &self, ) -> Result<HashMap<Id, BTreeMap<u64, Element>>, StorageError>
Similarly to the load_all_elements function,
but this function returns all elements as their histories.
Source§impl<Id, Element> StorageInterfaceOpen for MemoryStorageInterface<Id, Element>
impl<Id, Element> StorageInterfaceOpen for MemoryStorageInterface<Id, Element>
Source§fn open_or_create(
_location: &Path,
_storage_instance: u64,
) -> Result<Self, StorageError>
fn open_or_create( _location: &Path, _storage_instance: u64, ) -> Result<Self, StorageError>
Initializes the current storage device. Read more
Source§fn clone_to_new_instance(&self, _storage_instance: u64) -> Self
fn clone_to_new_instance(&self, _storage_instance: u64) -> Self
Constructs a new instance from an existing one Read more
Source§impl<Id, Element> StorageInterfaceStore<Id, Element> for MemoryStorageInterface<Id, Element>
impl<Id, Element> StorageInterfaceStore<Id, Element> for MemoryStorageInterface<Id, Element>
Source§fn store_single_element(
&mut self,
iteration: u64,
identifier: &Id,
element: &Element,
) -> Result<(), StorageError>
fn store_single_element( &mut self, iteration: u64, identifier: &Id, element: &Element, ) -> Result<(), StorageError>
Saves a single element at given iteration.
Source§fn store_batch_elements<'a, I>(
&'a mut self,
iteration: u64,
identifiers_elements: I,
) -> Result<(), StorageError>where
Id: 'a + Serialize,
Element: 'a + Serialize,
I: Clone + IntoIterator<Item = (&'a Id, &'a Element)>,
fn store_batch_elements<'a, I>(
&'a mut self,
iteration: u64,
identifiers_elements: I,
) -> Result<(), StorageError>where
Id: 'a + Serialize,
Element: 'a + Serialize,
I: Clone + IntoIterator<Item = (&'a Id, &'a Element)>,
Stores a batch of multiple elements with identifiers all at the same iteration.
Auto Trait Implementations§
impl<Id, Element> Freeze for MemoryStorageInterface<Id, Element>
impl<Id, Element> RefUnwindSafe for MemoryStorageInterface<Id, Element>
impl<Id, Element> Send for MemoryStorageInterface<Id, Element>
impl<Id, Element> Sync for MemoryStorageInterface<Id, Element>
impl<Id, Element> Unpin for MemoryStorageInterface<Id, Element>
impl<Id, Element> UnwindSafe for MemoryStorageInterface<Id, Element>
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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