pub struct FinalizeMemory<N>where
N: Network,{ /* private fields */ }Expand description
An in-memory finalize storage.
Trait Implementations§
Source§impl<N> Clone for FinalizeMemory<N>
impl<N> Clone for FinalizeMemory<N>
Source§fn clone(&self) -> FinalizeMemory<N>
fn clone(&self) -> FinalizeMemory<N>
Returns a duplicate 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<N> FinalizeStorage<N> for FinalizeMemory<N>where
N: Network,
impl<N> FinalizeStorage<N> for FinalizeMemory<N>where
N: Network,
Source§fn open(dev: Option<u16>) -> Result<FinalizeMemory<N>, Error>
fn open(dev: Option<u16>) -> Result<FinalizeMemory<N>, Error>
Initializes the finalize storage.
Source§fn committee_store(
&self,
) -> &CommitteeStore<N, <FinalizeMemory<N> as FinalizeStorage<N>>::CommitteeStorage>
fn committee_store( &self, ) -> &CommitteeStore<N, <FinalizeMemory<N> as FinalizeStorage<N>>::CommitteeStorage>
Returns the committee store.
Source§fn program_id_map(
&self,
) -> &<FinalizeMemory<N> as FinalizeStorage<N>>::ProgramIDMap
fn program_id_map( &self, ) -> &<FinalizeMemory<N> as FinalizeStorage<N>>::ProgramIDMap
Returns the program ID map.
Source§fn key_value_map(
&self,
) -> &<FinalizeMemory<N> as FinalizeStorage<N>>::KeyValueMap
fn key_value_map( &self, ) -> &<FinalizeMemory<N> as FinalizeStorage<N>>::KeyValueMap
Returns the key-value map.
Source§type CommitteeStorage = CommitteeMemory<N>
type CommitteeStorage = CommitteeMemory<N>
The committee storage.
Source§type ProgramIDMap = MemoryMap<ProgramID<N>, IndexSet<Identifier<N>>>
type ProgramIDMap = MemoryMap<ProgramID<N>, IndexSet<Identifier<N>>>
The mapping of
program ID to [mapping name].Source§type KeyValueMap = NestedMemoryMap<(ProgramID<N>, Identifier<N>), Plaintext<N>, Value<N>>
type KeyValueMap = NestedMemoryMap<(ProgramID<N>, Identifier<N>), Plaintext<N>, Value<N>>
The mapping of
(program ID, mapping name) to [(key, value)].Source§fn start_atomic(&self)
fn start_atomic(&self)
Starts an atomic batch write operation.
Source§fn is_atomic_in_progress(&self) -> bool
fn is_atomic_in_progress(&self) -> bool
Checks if an atomic batch is in progress.
Source§fn atomic_checkpoint(&self)
fn atomic_checkpoint(&self)
Checkpoints the atomic batch.
Source§fn clear_latest_checkpoint(&self)
fn clear_latest_checkpoint(&self)
Clears the latest atomic batch checkpoint.
Source§fn atomic_rewind(&self)
fn atomic_rewind(&self)
Rewinds the atomic batch to the previous checkpoint.
Source§fn abort_atomic(&self)
fn abort_atomic(&self)
Aborts an atomic batch write operation.
Source§fn initialize_mapping(
&self,
program_id: ProgramID<N>,
mapping_name: Identifier<N>,
) -> Result<FinalizeOperation<N>, Error>
fn initialize_mapping( &self, program_id: ProgramID<N>, mapping_name: Identifier<N>, ) -> Result<FinalizeOperation<N>, Error>
Initializes the given
program ID and mapping name in storage.
If the mapping name is already initialized, an error is returned.Source§fn insert_key_value(
&self,
program_id: ProgramID<N>,
mapping_name: Identifier<N>,
key: Plaintext<N>,
value: Value<N>,
) -> Result<FinalizeOperation<N>, Error>
fn insert_key_value( &self, program_id: ProgramID<N>, mapping_name: Identifier<N>, key: Plaintext<N>, value: Value<N>, ) -> Result<FinalizeOperation<N>, Error>
Stores the given
(key, value) pair at the given program ID and mapping name in storage.
If the mapping name is not initialized, an error is returned.
If the key already exists, the method returns an error.Source§fn update_key_value(
&self,
program_id: ProgramID<N>,
mapping_name: Identifier<N>,
key: Plaintext<N>,
value: Value<N>,
) -> Result<FinalizeOperation<N>, Error>
fn update_key_value( &self, program_id: ProgramID<N>, mapping_name: Identifier<N>, key: Plaintext<N>, value: Value<N>, ) -> Result<FinalizeOperation<N>, Error>
Stores the given
(key, value) pair at the given program ID and mapping name in storage.
If the mapping name is not initialized, an error is returned.
If the key does not exist, the (key, value) pair is initialized.
If the key already exists, the value is overwritten.Source§fn remove_key_value(
&self,
program_id: ProgramID<N>,
mapping_name: Identifier<N>,
key: &Plaintext<N>,
) -> Result<Option<FinalizeOperation<N>>, Error>
fn remove_key_value( &self, program_id: ProgramID<N>, mapping_name: Identifier<N>, key: &Plaintext<N>, ) -> Result<Option<FinalizeOperation<N>>, Error>
Removes the key-value pair for the given
program ID, mapping name, and key from storage.
If the key does not exist, None is returned.Source§fn replace_mapping(
&self,
program_id: ProgramID<N>,
mapping_name: Identifier<N>,
entries: Vec<(Plaintext<N>, Value<N>)>,
) -> Result<FinalizeOperation<N>, Error>
fn replace_mapping( &self, program_id: ProgramID<N>, mapping_name: Identifier<N>, entries: Vec<(Plaintext<N>, Value<N>)>, ) -> Result<FinalizeOperation<N>, Error>
Replaces the mapping for the given
program ID and mapping name from storage,
with the given key-value pairs.Source§fn remove_mapping(
&self,
program_id: ProgramID<N>,
mapping_name: Identifier<N>,
) -> Result<FinalizeOperation<N>, Error>
fn remove_mapping( &self, program_id: ProgramID<N>, mapping_name: Identifier<N>, ) -> Result<FinalizeOperation<N>, Error>
Removes the mapping for the given
program ID and mapping name from storage,
along with all associated key-value pairs in storage.Source§fn remove_program(&self, program_id: &ProgramID<N>) -> Result<(), Error>
fn remove_program(&self, program_id: &ProgramID<N>) -> Result<(), Error>
Removes the program for the given
program ID from storage,
along with all associated mappings and key-value pairs in storage.Source§fn contains_program_confirmed(
&self,
program_id: &ProgramID<N>,
) -> Result<bool, Error>
fn contains_program_confirmed( &self, program_id: &ProgramID<N>, ) -> Result<bool, Error>
Returns
true if the given program ID exist.Source§fn contains_mapping_confirmed(
&self,
program_id: &ProgramID<N>,
mapping_name: &Identifier<N>,
) -> Result<bool, Error>
fn contains_mapping_confirmed( &self, program_id: &ProgramID<N>, mapping_name: &Identifier<N>, ) -> Result<bool, Error>
Returns
true if the given program ID and mapping name exist.Source§fn contains_mapping_speculative(
&self,
program_id: &ProgramID<N>,
mapping_name: &Identifier<N>,
) -> Result<bool, Error>
fn contains_mapping_speculative( &self, program_id: &ProgramID<N>, mapping_name: &Identifier<N>, ) -> Result<bool, Error>
Returns
true if the given program ID and mapping name exist.Source§fn contains_key_confirmed(
&self,
program_id: ProgramID<N>,
mapping_name: Identifier<N>,
key: &Plaintext<N>,
) -> Result<bool, Error>
fn contains_key_confirmed( &self, program_id: ProgramID<N>, mapping_name: Identifier<N>, key: &Plaintext<N>, ) -> Result<bool, Error>
Returns
true if the given program ID, mapping name, and key exist.Source§fn contains_key_speculative(
&self,
program_id: ProgramID<N>,
mapping_name: Identifier<N>,
key: &Plaintext<N>,
) -> Result<bool, Error>
fn contains_key_speculative( &self, program_id: ProgramID<N>, mapping_name: Identifier<N>, key: &Plaintext<N>, ) -> Result<bool, Error>
Returns
true if the given program ID, mapping name, and key exist.Source§fn get_mapping_names_confirmed(
&self,
program_id: &ProgramID<N>,
) -> Result<Option<IndexSet<Identifier<N>>>, Error>
fn get_mapping_names_confirmed( &self, program_id: &ProgramID<N>, ) -> Result<Option<IndexSet<Identifier<N>>>, Error>
Returns the confirmed mapping names for the given
program ID.Source§fn get_mapping_names_speculative(
&self,
program_id: &ProgramID<N>,
) -> Result<Option<IndexSet<Identifier<N>>>, Error>
fn get_mapping_names_speculative( &self, program_id: &ProgramID<N>, ) -> Result<Option<IndexSet<Identifier<N>>>, Error>
Returns the speculative mapping names for the given
program ID.Source§fn get_mapping_confirmed(
&self,
program_id: ProgramID<N>,
mapping_name: Identifier<N>,
) -> Result<Vec<(Plaintext<N>, Value<N>)>, Error>
fn get_mapping_confirmed( &self, program_id: ProgramID<N>, mapping_name: Identifier<N>, ) -> Result<Vec<(Plaintext<N>, Value<N>)>, Error>
Returns the confirmed mapping entries for the given
program ID and mapping name.Source§fn get_mapping_speculative(
&self,
program_id: ProgramID<N>,
mapping_name: Identifier<N>,
) -> Result<Vec<(Plaintext<N>, Value<N>)>, Error>
fn get_mapping_speculative( &self, program_id: ProgramID<N>, mapping_name: Identifier<N>, ) -> Result<Vec<(Plaintext<N>, Value<N>)>, Error>
Returns the speculative mapping entries for the given
program ID and mapping name.Source§fn get_value_confirmed(
&self,
program_id: ProgramID<N>,
mapping_name: Identifier<N>,
key: &Plaintext<N>,
) -> Result<Option<Value<N>>, Error>
fn get_value_confirmed( &self, program_id: ProgramID<N>, mapping_name: Identifier<N>, key: &Plaintext<N>, ) -> Result<Option<Value<N>>, Error>
Returns the confirmed value for the given
program ID, mapping name, and key.Source§fn get_value_speculative(
&self,
program_id: ProgramID<N>,
mapping_name: Identifier<N>,
key: &Plaintext<N>,
) -> Result<Option<Value<N>>, Error>
fn get_value_speculative( &self, program_id: ProgramID<N>, mapping_name: Identifier<N>, key: &Plaintext<N>, ) -> Result<Option<Value<N>>, Error>
Returns the speculative value for the given
program ID, mapping name, and key.Auto Trait Implementations§
impl<N> Freeze for FinalizeMemory<N>
impl<N> !RefUnwindSafe for FinalizeMemory<N>
impl<N> Send for FinalizeMemory<N>
impl<N> Sync for FinalizeMemory<N>
impl<N> Unpin for FinalizeMemory<N>where
N: Unpin,
impl<N> !UnwindSafe for FinalizeMemory<N>
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