pub struct InputStore<N, I>where
N: Network,
I: InputStorage<N>,{ /* private fields */ }Expand description
The transition input store.
Implementations§
Source§impl<N, I> InputStore<N, I>where
N: Network,
I: InputStorage<N>,
impl<N, I> InputStore<N, I>where
N: Network,
I: InputStorage<N>,
Sourcepub fn open(dev: Option<u16>) -> Result<InputStore<N, I>, Error>
pub fn open(dev: Option<u16>) -> Result<InputStore<N, I>, Error>
Initializes the transition input store.
Sourcepub fn from(storage: I) -> InputStore<N, I>
pub fn from(storage: I) -> InputStore<N, I>
Initializes a transition input store from storage.
Sourcepub fn insert(
&self,
transition_id: <N as Network>::TransitionID,
inputs: &[Input<N>],
) -> Result<(), Error>
pub fn insert( &self, transition_id: <N as Network>::TransitionID, inputs: &[Input<N>], ) -> Result<(), Error>
Stores the given (transition ID, input) pair into storage.
Sourcepub fn remove(
&self,
transition_id: &<N as Network>::TransitionID,
) -> Result<(), Error>
pub fn remove( &self, transition_id: &<N as Network>::TransitionID, ) -> Result<(), Error>
Removes the input for the given transition ID.
Sourcepub fn start_atomic(&self)
pub fn start_atomic(&self)
Starts an atomic batch write operation.
Sourcepub fn is_atomic_in_progress(&self) -> bool
pub fn is_atomic_in_progress(&self) -> bool
Checks if an atomic batch is in progress.
Sourcepub fn atomic_checkpoint(&self)
pub fn atomic_checkpoint(&self)
Checkpoints the atomic batch.
Sourcepub fn clear_latest_checkpoint(&self)
pub fn clear_latest_checkpoint(&self)
Clears the latest atomic batch checkpoint.
Sourcepub fn atomic_rewind(&self)
pub fn atomic_rewind(&self)
Rewinds the atomic batch to the previous checkpoint.
Sourcepub fn abort_atomic(&self)
pub fn abort_atomic(&self)
Aborts an atomic batch write operation.
Sourcepub fn finish_atomic(&self) -> Result<(), Error>
pub fn finish_atomic(&self) -> Result<(), Error>
Finishes an atomic batch write operation.
Source§impl<N, I> InputStore<N, I>where
N: Network,
I: InputStorage<N>,
impl<N, I> InputStore<N, I>where
N: Network,
I: InputStorage<N>,
Sourcepub fn get_input_ids(
&self,
transition_id: &<N as Network>::TransitionID,
) -> Result<Vec<Field<N>>, Error>
pub fn get_input_ids( &self, transition_id: &<N as Network>::TransitionID, ) -> Result<Vec<Field<N>>, Error>
Returns the input IDs for the given transition ID.
Sourcepub fn get_inputs(
&self,
transition_id: &<N as Network>::TransitionID,
) -> Result<Vec<Input<N>>, Error>
pub fn get_inputs( &self, transition_id: &<N as Network>::TransitionID, ) -> Result<Vec<Input<N>>, Error>
Returns the inputs for the given transition ID.
Source§impl<N, I> InputStore<N, I>where
N: Network,
I: InputStorage<N>,
impl<N, I> InputStore<N, I>where
N: Network,
I: InputStorage<N>,
Sourcepub fn find_transition_id(
&self,
input_id: &Field<N>,
) -> Result<Option<<N as Network>::TransitionID>, Error>
pub 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.
Source§impl<N, I> InputStore<N, I>where
N: Network,
I: InputStorage<N>,
impl<N, I> InputStore<N, I>where
N: Network,
I: InputStorage<N>,
Source§impl<N, I> InputStore<N, I>where
N: Network,
I: InputStorage<N>,
impl<N, I> InputStore<N, I>where
N: Network,
I: InputStorage<N>,
Sourcepub fn input_ids(&self) -> impl Iterator<Item = Cow<'_, Field<N>>>
pub fn input_ids(&self) -> impl Iterator<Item = Cow<'_, Field<N>>>
Returns an iterator over the input IDs, for all transition inputs.
Sourcepub fn constant_input_ids(&self) -> impl Iterator<Item = Cow<'_, Field<N>>>
pub fn constant_input_ids(&self) -> impl Iterator<Item = Cow<'_, Field<N>>>
Returns an iterator over the constant input IDs, for all transition inputs that are constant.
Sourcepub fn public_input_ids(&self) -> impl Iterator<Item = Cow<'_, Field<N>>>
pub fn public_input_ids(&self) -> impl Iterator<Item = Cow<'_, Field<N>>>
Returns an iterator over the public input IDs, for all transition inputs that are public.
Sourcepub fn private_input_ids(&self) -> impl Iterator<Item = Cow<'_, Field<N>>>
pub fn private_input_ids(&self) -> impl Iterator<Item = Cow<'_, Field<N>>>
Returns an iterator over the private input IDs, for all transition inputs that are private.
Sourcepub fn serial_numbers(&self) -> impl Iterator<Item = Cow<'_, Field<N>>>
pub fn serial_numbers(&self) -> impl Iterator<Item = Cow<'_, Field<N>>>
Returns an iterator over the serial numbers, for all transition inputs that are records.
Sourcepub fn external_input_ids(&self) -> impl Iterator<Item = Cow<'_, Field<N>>>
pub fn external_input_ids(&self) -> impl Iterator<Item = Cow<'_, Field<N>>>
Returns an iterator over the external record input IDs, for all transition inputs that are external records.
Source§impl<N, I> InputStore<N, I>where
N: Network,
I: InputStorage<N>,
impl<N, I> InputStore<N, I>where
N: Network,
I: InputStorage<N>,
Sourcepub fn constant_inputs(&self) -> impl Iterator<Item = Cow<'_, Plaintext<N>>>
pub fn constant_inputs(&self) -> impl Iterator<Item = Cow<'_, Plaintext<N>>>
Returns an iterator over the constant inputs, for all transitions.
Sourcepub fn public_inputs(&self) -> impl Iterator<Item = Cow<'_, Plaintext<N>>>
pub fn public_inputs(&self) -> impl Iterator<Item = Cow<'_, Plaintext<N>>>
Returns an iterator over the constant inputs, for all transitions.
Sourcepub fn private_inputs(&self) -> impl Iterator<Item = Cow<'_, Ciphertext<N>>>
pub fn private_inputs(&self) -> impl Iterator<Item = Cow<'_, Ciphertext<N>>>
Returns an iterator over the private inputs, for all transitions.
Returns an iterator over the tags, for all transition inputs that are records.
Trait Implementations§
Source§impl<N, I> Clone for InputStore<N, I>where
N: Clone + Network,
I: Clone + InputStorage<N>,
<I as InputStorage<N>>::ConstantMap: Clone,
<I as InputStorage<N>>::PublicMap: Clone,
<I as InputStorage<N>>::PrivateMap: Clone,
<I as InputStorage<N>>::RecordMap: Clone,
<I as InputStorage<N>>::RecordTagMap: Clone,
<I as InputStorage<N>>::ExternalRecordMap: Clone,
impl<N, I> Clone for InputStore<N, I>where
N: Clone + Network,
I: Clone + InputStorage<N>,
<I as InputStorage<N>>::ConstantMap: Clone,
<I as InputStorage<N>>::PublicMap: Clone,
<I as InputStorage<N>>::PrivateMap: Clone,
<I as InputStorage<N>>::RecordMap: Clone,
<I as InputStorage<N>>::RecordTagMap: Clone,
<I as InputStorage<N>>::ExternalRecordMap: Clone,
Source§fn clone(&self) -> InputStore<N, I>
fn clone(&self) -> InputStore<N, I>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl<N, I> Freeze for InputStore<N, I>where
<I as InputStorage<N>>::ConstantMap: Freeze,
<I as InputStorage<N>>::PublicMap: Freeze,
<I as InputStorage<N>>::PrivateMap: Freeze,
<I as InputStorage<N>>::RecordMap: Freeze,
<I as InputStorage<N>>::RecordTagMap: Freeze,
<I as InputStorage<N>>::ExternalRecordMap: Freeze,
I: Freeze,
impl<N, I> RefUnwindSafe for InputStore<N, I>where
<I as InputStorage<N>>::ConstantMap: RefUnwindSafe,
<I as InputStorage<N>>::PublicMap: RefUnwindSafe,
<I as InputStorage<N>>::PrivateMap: RefUnwindSafe,
<I as InputStorage<N>>::RecordMap: RefUnwindSafe,
<I as InputStorage<N>>::RecordTagMap: RefUnwindSafe,
<I as InputStorage<N>>::ExternalRecordMap: RefUnwindSafe,
I: RefUnwindSafe,
impl<N, I> Send for InputStore<N, I>
impl<N, I> Sync for InputStore<N, I>
impl<N, I> Unpin for InputStore<N, I>where
<I as InputStorage<N>>::ConstantMap: Unpin,
<I as InputStorage<N>>::PublicMap: Unpin,
<I as InputStorage<N>>::PrivateMap: Unpin,
<I as InputStorage<N>>::RecordMap: Unpin,
<I as InputStorage<N>>::RecordTagMap: Unpin,
<I as InputStorage<N>>::ExternalRecordMap: Unpin,
I: Unpin,
impl<N, I> UnwindSafe for InputStore<N, I>where
<I as InputStorage<N>>::ConstantMap: UnwindSafe,
<I as InputStorage<N>>::PublicMap: UnwindSafe,
<I as InputStorage<N>>::PrivateMap: UnwindSafe,
<I as InputStorage<N>>::RecordMap: UnwindSafe,
<I as InputStorage<N>>::RecordTagMap: UnwindSafe,
<I as InputStorage<N>>::ExternalRecordMap: UnwindSafe,
I: UnwindSafe,
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
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> ⓘ
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> ⓘ
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