pub struct NaiveTransitionFrontier<ProtocolState, Proof>where
ProtocolState: ProtocolStateHeader,
Proof: MerkleProof,{ /* private fields */ }
Expand description
Struct that represents a naive implementation of the TransitionFrontier
Implementations
sourceimpl<ProtocolState, Proof> NaiveTransitionFrontier<ProtocolState, Proof>where
ProtocolState: ProtocolStateHeader + Default,
Proof: MerkleProof,
impl<ProtocolState, Proof> NaiveTransitionFrontier<ProtocolState, Proof>where
ProtocolState: ProtocolStateHeader + Default,
Proof: MerkleProof,
sourcepub fn get_best_chain(&self) -> &ProtocolStateChain<ProtocolState>
pub fn get_best_chain(&self) -> &ProtocolStateChain<ProtocolState>
Gets the current best chain being selected
Trait Implementations
sourceimpl<ProtocolState: Clone, Proof: Clone> Clone for NaiveTransitionFrontier<ProtocolState, Proof>where
ProtocolState: ProtocolStateHeader,
Proof: MerkleProof,
impl<ProtocolState: Clone, Proof: Clone> Clone for NaiveTransitionFrontier<ProtocolState, Proof>where
ProtocolState: ProtocolStateHeader,
Proof: MerkleProof,
sourcefn clone(&self) -> NaiveTransitionFrontier<ProtocolState, Proof>
fn clone(&self) -> NaiveTransitionFrontier<ProtocolState, Proof>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresourceimpl<ProtocolState: Debug, Proof: Debug> Debug for NaiveTransitionFrontier<ProtocolState, Proof>where
ProtocolState: ProtocolStateHeader,
Proof: MerkleProof,
impl<ProtocolState: Debug, Proof: Debug> Debug for NaiveTransitionFrontier<ProtocolState, Proof>where
ProtocolState: ProtocolStateHeader,
Proof: MerkleProof,
sourceimpl<ProtocolState: Default, Proof: Default> Default for NaiveTransitionFrontier<ProtocolState, Proof>where
ProtocolState: ProtocolStateHeader,
Proof: MerkleProof,
impl<ProtocolState: Default, Proof: Default> Default for NaiveTransitionFrontier<ProtocolState, Proof>where
ProtocolState: ProtocolStateHeader,
Proof: MerkleProof,
sourcefn default() -> NaiveTransitionFrontier<ProtocolState, Proof>
fn default() -> NaiveTransitionFrontier<ProtocolState, Proof>
Returns the “default value” for a type. Read more
sourceimpl TransitionFrontier for NaiveTransitionFrontier<ProtocolState, MerkleProofBerkeleyNet>
impl TransitionFrontier for NaiveTransitionFrontier<ProtocolState, MerkleProofBerkeleyNet>
type Block = ProtocolStateWithSparseMerkleLedger
type Block = ProtocolStateWithSparseMerkleLedger
Type that represents a block
sourcefn set_block_requester(&mut self, sender: Sender<QueryBlockRequest>)
fn set_block_requester(&mut self, sender: Sender<QueryBlockRequest>)
Sets the block requester for querying a block, e.g. parent of certain block
The responses will be recieved in a asynchronous way by the
add_block
API Read moresourcefn add_block<'life0, 'async_trait>(
&'life0 mut self,
block: Self::Block
) -> Pin<Box<dyn Future<Output = Result<()>> + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn add_block<'life0, 'async_trait>(
&'life0 mut self,
block: Self::Block
) -> Pin<Box<dyn Future<Output = Result<()>> + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Adds a block that is received from networking layer.
The block could be either pushed by other peers or
the response of QueryBlockRequest. Read more
sourceimpl TransitionFrontier for NaiveTransitionFrontier<ProtocolStateLegacy, MerkleProofMainnet>
impl TransitionFrontier for NaiveTransitionFrontier<ProtocolStateLegacy, MerkleProofMainnet>
type Block = ExternalTransition
type Block = ExternalTransition
Type that represents a block
sourcefn set_block_requester(&mut self, sender: Sender<QueryBlockRequest>)
fn set_block_requester(&mut self, sender: Sender<QueryBlockRequest>)
Sets the block requester for querying a block, e.g. parent of certain block
The responses will be recieved in a asynchronous way by the
add_block
API Read moresourcefn add_block<'life0, 'async_trait>(
&'life0 mut self,
block: Self::Block
) -> Pin<Box<dyn Future<Output = Result<()>> + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn add_block<'life0, 'async_trait>(
&'life0 mut self,
block: Self::Block
) -> Pin<Box<dyn Future<Output = Result<()>> + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Adds a block that is received from networking layer.
The block could be either pushed by other peers or
the response of QueryBlockRequest. Read more
Auto Trait Implementations
impl<ProtocolState, Proof> !RefUnwindSafe for NaiveTransitionFrontier<ProtocolState, Proof>
impl<ProtocolState, Proof> Send for NaiveTransitionFrontier<ProtocolState, Proof>where
Proof: Send,
ProtocolState: Send,
impl<ProtocolState, Proof> Sync for NaiveTransitionFrontier<ProtocolState, Proof>where
Proof: Sync,
ProtocolState: Sync,
impl<ProtocolState, Proof> Unpin for NaiveTransitionFrontier<ProtocolState, Proof>where
Proof: Unpin,
ProtocolState: Unpin,
impl<ProtocolState, Proof> !UnwindSafe for NaiveTransitionFrontier<ProtocolState, Proof>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> FmtForward for T
impl<T> FmtForward for T
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
Pipes by value. This is generally the method you want to use. Read more
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
self
and passes that borrow into the pipe function. Read morefn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self
and passes that borrow into the pipe function. Read morefn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
Borrows
self
, then passes self.as_ref()
into the pipe function.fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> Rwhere
Self: Deref<Target = T>,
T: 'a + ?Sized,
R: 'a,
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> Rwhere
Self: Deref<Target = T>,
T: 'a + ?Sized,
R: 'a,
Borrows
self
, then passes self.deref()
into the pipe function.impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Tap for T
impl<T> Tap for T
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
Immutable access to the
Borrow<B>
of a value. Read morefn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
Mutable access to the
BorrowMut<B>
of a value. Read morefn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
Immutable access to the
AsRef<R>
view of a value. Read morefn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
Mutable access to the
AsMut<R>
view of a value. Read morefn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
Immutable access to the
Deref::Target
of a value. Read morefn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
Mutable access to the
Deref::Target
of a value. Read morefn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap()
only in debug builds, and is erased in release builds.fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut()
only in debug builds, and is erased in release
builds. Read morefn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
Calls
.tap_borrow()
only in debug builds, and is erased in release
builds. Read morefn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
Calls
.tap_borrow_mut()
only in debug builds, and is erased in release
builds. Read morefn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
Calls
.tap_ref()
only in debug builds, and is erased in release
builds. Read morefn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
Calls
.tap_ref_mut()
only in debug builds, and is erased in release
builds. Read more