pub struct OrderedDataInterpreter<CIP>where
    CIP: ChainInfoProvider,{
    blocks_to_finalize_tx: UnboundedSender<BlockId>,
    chain_info_provider: CachedChainInfoProvider<AuxFinalizationChainInfoProvider<CIP>>,
    last_finalized_by_phron: BlockId,
    session_boundaries: SessionBoundaries,
}Expand description
Takes as input ordered PhronData from PhronBFT and pushes blocks that should be finalized
to an output channel. The other end of the channel is held by the aggregator whose goal is to
create multisignatures under the finalized blocks.
Fields§
§blocks_to_finalize_tx: UnboundedSender<BlockId>§chain_info_provider: CachedChainInfoProvider<AuxFinalizationChainInfoProvider<CIP>>§last_finalized_by_phron: BlockId§session_boundaries: SessionBoundariesImplementations§
source§impl<CIP> OrderedDataInterpreter<CIP>where
    CIP: ChainInfoProvider,
 
impl<CIP> OrderedDataInterpreter<CIP>where
    CIP: ChainInfoProvider,
pub fn new( blocks_to_finalize_tx: UnboundedSender<BlockId>, chain_info: CIP, session_boundaries: SessionBoundaries ) -> Self
pub fn set_last_finalized(&mut self, block: BlockId)
pub fn chain_info_provider( &mut self ) -> &mut CachedChainInfoProvider<AuxFinalizationChainInfoProvider<CIP>>
pub fn send_block_to_finalize( &mut self, block: BlockId ) -> Result<(), TrySendError<BlockId>>
pub fn blocks_to_finalize_from_data( &mut self, new_data: PhronData ) -> Vec<BlockId>
pub fn data_finalized(&mut self, data: PhronData)
Trait Implementations§
source§impl<CIP> FinalizationHandler<PhronData> for OrderedDataInterpreter<CIP>where
    CIP: ChainInfoProvider,
 
impl<CIP> FinalizationHandler<PhronData> for OrderedDataInterpreter<CIP>where
    CIP: ChainInfoProvider,
source§fn data_finalized(&mut self, data: PhronData)
 
fn data_finalized(&mut self, data: PhronData)
Data, provided by [DataProvider::get_data], has been finalized.
The calls to this function follow the order of finalization.
Auto Trait Implementations§
impl<CIP> !RefUnwindSafe for OrderedDataInterpreter<CIP>
impl<CIP> Send for OrderedDataInterpreter<CIP>
impl<CIP> Sync for OrderedDataInterpreter<CIP>
impl<CIP> Unpin for OrderedDataInterpreter<CIP>where
    CIP: Unpin,
impl<CIP> !UnwindSafe for OrderedDataInterpreter<CIP>
Blanket Implementations§
§impl<T> AnySync for T
 
impl<T> AnySync for T
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
§impl<T> CheckedConversion for T
 
impl<T> CheckedConversion for T
§fn checked_from<T>(t: T) -> Option<Self>where
    Self: TryFrom<T>,
 
fn checked_from<T>(t: T) -> Option<Self>where
    Self: TryFrom<T>,
§fn checked_into<T>(self) -> Option<T>where
    Self: TryInto<T>,
 
fn checked_into<T>(self) -> Option<T>where
    Self: TryInto<T>,
§impl<T> Instrument for T
 
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
 
fn in_current_span(self) -> Instrumented<Self>
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§impl<T> IsType<T> for T
 
impl<T> IsType<T> for T
§impl<T, Outer> IsWrappedBy<Outer> for T
 
impl<T, Outer> IsWrappedBy<Outer> for T
§impl<T> Pointable for T
 
impl<T> Pointable for T
§impl<T> SaturatedConversion for T
 
impl<T> SaturatedConversion for T
§fn saturated_from<T>(t: T) -> Selfwhere
    Self: UniqueSaturatedFrom<T>,
 
fn saturated_from<T>(t: T) -> Selfwhere
    Self: UniqueSaturatedFrom<T>,
§fn saturated_into<T>(self) -> Twhere
    Self: UniqueSaturatedInto<T>,
 
fn saturated_into<T>(self) -> Twhere
    Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of 
T. Read more§impl<S, T> UncheckedInto<T> for Swhere
    T: UncheckedFrom<S>,
 
impl<S, T> UncheckedInto<T> for Swhere
    T: UncheckedFrom<S>,
§fn unchecked_into(self) -> T
 
fn unchecked_into(self) -> T
The counterpart to 
unchecked_from.§impl<T, S> UniqueSaturatedInto<T> for S
 
impl<T, S> UniqueSaturatedInto<T> for S
§fn unique_saturated_into(self) -> T
 
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of 
T.