pub trait InputStorage<N>:
Clone
+ Send
+ Syncwhere
N: Network,{
type IDMap: for<'a> Map<'a, <N as Network>::TransitionID, Vec<Field<N>>>;
type ReverseIDMap: for<'a> Map<'a, Field<N>, <N as Network>::TransitionID>;
type ConstantMap: for<'a> Map<'a, Field<N>, Option<Plaintext<N>>>;
type PublicMap: for<'a> Map<'a, Field<N>, Option<Plaintext<N>>>;
type PrivateMap: for<'a> Map<'a, Field<N>, Option<Ciphertext<N>>>;
type RecordMap: for<'a> Map<'a, Field<N>, Field<N>>;
type RecordTagMap: for<'a> Map<'a, Field<N>, Field<N>>;
type ExternalRecordMap: for<'a> Map<'a, Field<N>, ()>;
Show 22 methods
// Required methods
fn open(dev: Option<u16>) -> Result<Self, Error>;
fn id_map(&self) -> &Self::IDMap;
fn reverse_id_map(&self) -> &Self::ReverseIDMap;
fn constant_map(&self) -> &Self::ConstantMap;
fn public_map(&self) -> &Self::PublicMap;
fn private_map(&self) -> &Self::PrivateMap;
fn record_map(&self) -> &Self::RecordMap;
fn record_tag_map(&self) -> &Self::RecordTagMap;
fn external_record_map(&self) -> &Self::ExternalRecordMap;
fn dev(&self) -> Option<u16>;
// Provided methods
fn start_atomic(&self) { ... }
fn is_atomic_in_progress(&self) -> bool { ... }
fn atomic_checkpoint(&self) { ... }
fn clear_latest_checkpoint(&self) { ... }
fn atomic_rewind(&self) { ... }
fn abort_atomic(&self) { ... }
fn finish_atomic(&self) -> Result<(), Error> { ... }
fn insert(
&self,
transition_id: <N as Network>::TransitionID,
inputs: &[Input<N>],
) -> Result<(), Error> { ... }
fn remove(
&self,
transition_id: &<N as Network>::TransitionID,
) -> Result<(), Error> { ... }
fn find_transition_id(
&self,
input_id: &Field<N>,
) -> Result<Option<<N as Network>::TransitionID>, Error> { ... }
fn get_ids(
&self,
transition_id: &<N as Network>::TransitionID,
) -> Result<Vec<Field<N>>, Error> { ... }
fn get(
&self,
transition_id: &<N as Network>::TransitionID,
) -> Result<Vec<Input<N>>, Error> { ... }
}Expand description
A trait for transition input storage.
Required Associated Types§
Sourcetype IDMap: for<'a> Map<'a, <N as Network>::TransitionID, Vec<Field<N>>>
type IDMap: for<'a> Map<'a, <N as Network>::TransitionID, Vec<Field<N>>>
The mapping of transition ID to input IDs.
Sourcetype ReverseIDMap: for<'a> Map<'a, Field<N>, <N as Network>::TransitionID>
type ReverseIDMap: for<'a> Map<'a, Field<N>, <N as Network>::TransitionID>
The mapping of input ID to transition ID.
Sourcetype ConstantMap: for<'a> Map<'a, Field<N>, Option<Plaintext<N>>>
type ConstantMap: for<'a> Map<'a, Field<N>, Option<Plaintext<N>>>
The mapping of plaintext hash to (optional) plaintext.
Sourcetype PublicMap: for<'a> Map<'a, Field<N>, Option<Plaintext<N>>>
type PublicMap: for<'a> Map<'a, Field<N>, Option<Plaintext<N>>>
The mapping of plaintext hash to (optional) plaintext.
Sourcetype PrivateMap: for<'a> Map<'a, Field<N>, Option<Ciphertext<N>>>
type PrivateMap: for<'a> Map<'a, Field<N>, Option<Ciphertext<N>>>
The mapping of ciphertext hash to (optional) ciphertext.
Sourcetype RecordTagMap: for<'a> Map<'a, Field<N>, Field<N>>
type RecordTagMap: for<'a> Map<'a, Field<N>, Field<N>>
The mapping of tag to serial number.
Sourcetype ExternalRecordMap: for<'a> Map<'a, Field<N>, ()>
type ExternalRecordMap: for<'a> Map<'a, Field<N>, ()>
The mapping of external hash to (). Note: This is not the record commitment.
Required Methods§
Sourcefn reverse_id_map(&self) -> &Self::ReverseIDMap
fn reverse_id_map(&self) -> &Self::ReverseIDMap
Returns the reverse ID map.
Sourcefn constant_map(&self) -> &Self::ConstantMap
fn constant_map(&self) -> &Self::ConstantMap
Returns the constant map.
Sourcefn public_map(&self) -> &Self::PublicMap
fn public_map(&self) -> &Self::PublicMap
Returns the public map.
Sourcefn private_map(&self) -> &Self::PrivateMap
fn private_map(&self) -> &Self::PrivateMap
Returns the private map.
Sourcefn record_map(&self) -> &Self::RecordMap
fn record_map(&self) -> &Self::RecordMap
Returns the record map.
Sourcefn record_tag_map(&self) -> &Self::RecordTagMap
fn record_tag_map(&self) -> &Self::RecordTagMap
Returns the record tag map.
Sourcefn external_record_map(&self) -> &Self::ExternalRecordMap
fn external_record_map(&self) -> &Self::ExternalRecordMap
Returns the external record map.
Provided Methods§
Sourcefn start_atomic(&self)
fn start_atomic(&self)
Starts an atomic batch write operation.
Sourcefn is_atomic_in_progress(&self) -> bool
fn is_atomic_in_progress(&self) -> bool
Checks if an atomic batch is in progress.
Sourcefn atomic_checkpoint(&self)
fn atomic_checkpoint(&self)
Checkpoints the atomic batch.
Sourcefn clear_latest_checkpoint(&self)
fn clear_latest_checkpoint(&self)
Clears the latest atomic batch checkpoint.
Sourcefn atomic_rewind(&self)
fn atomic_rewind(&self)
Rewinds the atomic batch to the previous checkpoint.
Sourcefn abort_atomic(&self)
fn abort_atomic(&self)
Aborts an atomic batch write operation.
Sourcefn finish_atomic(&self) -> Result<(), Error>
fn finish_atomic(&self) -> Result<(), Error>
Finishes an atomic batch write operation.
Sourcefn insert(
&self,
transition_id: <N as Network>::TransitionID,
inputs: &[Input<N>],
) -> Result<(), Error>
fn insert( &self, transition_id: <N as Network>::TransitionID, inputs: &[Input<N>], ) -> Result<(), Error>
Stores the given (transition ID, input) pair into storage.
Sourcefn remove(
&self,
transition_id: &<N as Network>::TransitionID,
) -> Result<(), Error>
fn remove( &self, transition_id: &<N as Network>::TransitionID, ) -> Result<(), Error>
Removes the input for the given transition ID.
Sourcefn find_transition_id(
&self,
input_id: &Field<N>,
) -> Result<Option<<N as Network>::TransitionID>, Error>
fn find_transition_id( &self, input_id: &Field<N>, ) -> Result<Option<<N as Network>::TransitionID>, Error>
Returns the transition ID that contains the given input ID.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.