pub trait InputStorage<N: Network>: Clone + Send + Sync {
    type IDMap: for<'a> Map<'a, N::TransitionID, Vec<Field<N>>>;
    type ReverseIDMap: for<'a> Map<'a, Field<N>, N::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>; 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<()> { ... } fn insert( &self, transition_id: N::TransitionID, inputs: &[Input<N>] ) -> Result<()> { ... } fn remove(&self, transition_id: &N::TransitionID) -> Result<()> { ... } fn find_transition_id( &self, input_id: &Field<N> ) -> Result<Option<N::TransitionID>> { ... } fn get_ids(&self, transition_id: &N::TransitionID) -> Result<Vec<Field<N>>> { ... } fn get(&self, transition_id: &N::TransitionID) -> Result<Vec<Input<N>>> { ... }
}
Expand description

A trait for transition input storage.

Required Associated Types§

source

type IDMap: for<'a> Map<'a, N::TransitionID, Vec<Field<N>>>

The mapping of transition ID to input IDs.

source

type ReverseIDMap: for<'a> Map<'a, Field<N>, N::TransitionID>

The mapping of input ID to transition ID.

source

type ConstantMap: for<'a> Map<'a, Field<N>, Option<Plaintext<N>>>

The mapping of plaintext hash to (optional) plaintext.

source

type PublicMap: for<'a> Map<'a, Field<N>, Option<Plaintext<N>>>

The mapping of plaintext hash to (optional) plaintext.

source

type PrivateMap: for<'a> Map<'a, Field<N>, Option<Ciphertext<N>>>

The mapping of ciphertext hash to (optional) ciphertext.

source

type RecordMap: for<'a> Map<'a, Field<N>, Field<N>>

The mapping of serial number to tag.

source

type RecordTagMap: for<'a> Map<'a, Field<N>, Field<N>>

The mapping of tag to serial number.

source

type ExternalRecordMap: for<'a> Map<'a, Field<N>, ()>

The mapping of external hash to (). Note: This is not the record commitment.

Required Methods§

source

fn open(dev: Option<u16>) -> Result<Self>

Initializes the transition input storage.

source

fn id_map(&self) -> &Self::IDMap

Returns the ID map.

source

fn reverse_id_map(&self) -> &Self::ReverseIDMap

Returns the reverse ID map.

source

fn constant_map(&self) -> &Self::ConstantMap

Returns the constant map.

source

fn public_map(&self) -> &Self::PublicMap

Returns the public map.

source

fn private_map(&self) -> &Self::PrivateMap

Returns the private map.

source

fn record_map(&self) -> &Self::RecordMap

Returns the record map.

source

fn record_tag_map(&self) -> &Self::RecordTagMap

Returns the record tag map.

source

fn external_record_map(&self) -> &Self::ExternalRecordMap

Returns the external record map.

source

fn dev(&self) -> Option<u16>

Returns the optional development ID.

Provided Methods§

source

fn start_atomic(&self)

Starts an atomic batch write operation.

source

fn is_atomic_in_progress(&self) -> bool

Checks if an atomic batch is in progress.

source

fn atomic_checkpoint(&self)

Checkpoints the atomic batch.

source

fn clear_latest_checkpoint(&self)

Clears the latest atomic batch checkpoint.

source

fn atomic_rewind(&self)

Rewinds the atomic batch to the previous checkpoint.

source

fn abort_atomic(&self)

Aborts an atomic batch write operation.

source

fn finish_atomic(&self) -> Result<()>

Finishes an atomic batch write operation.

source

fn insert( &self, transition_id: N::TransitionID, inputs: &[Input<N>] ) -> Result<()>

Stores the given (transition ID, input) pair into storage.

source

fn remove(&self, transition_id: &N::TransitionID) -> Result<()>

Removes the input for the given transition ID.

source

fn find_transition_id( &self, input_id: &Field<N> ) -> Result<Option<N::TransitionID>>

Returns the transition ID that contains the given input ID.

source

fn get_ids(&self, transition_id: &N::TransitionID) -> Result<Vec<Field<N>>>

Returns the input IDs for the given transition ID.

source

fn get(&self, transition_id: &N::TransitionID) -> Result<Vec<Input<N>>>

Returns the input for the given transition ID.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<N: Network> InputStorage<N> for InputMemory<N>

§

type IDMap = MemoryMap<<N as Network>::TransitionID, Vec<Field<N>>>

§

type ReverseIDMap = MemoryMap<Field<N>, <N as Network>::TransitionID>

§

type ConstantMap = MemoryMap<Field<N>, Option<Plaintext<N>>>

§

type PublicMap = MemoryMap<Field<N>, Option<Plaintext<N>>>

§

type PrivateMap = MemoryMap<Field<N>, Option<Ciphertext<N>>>

§

type RecordMap = MemoryMap<Field<N>, Field<N>>

§

type RecordTagMap = MemoryMap<Field<N>, Field<N>>

§

type ExternalRecordMap = MemoryMap<Field<N>, ()>