Struct sc_client_api::client::BlockImportNotification
source · pub struct BlockImportNotification<Block: BlockT> {
pub hash: Block::Hash,
pub origin: BlockOrigin,
pub header: Block::Header,
pub is_new_best: bool,
pub tree_route: Option<Arc<TreeRoute<Block>>>,
/* private fields */
}
Expand description
Summary of an imported block
Fields§
§hash: Block::Hash
Imported block header hash.
origin: BlockOrigin
Imported block origin.
header: Block::Header
Imported block header.
is_new_best: bool
Is this the new best block.
tree_route: Option<Arc<TreeRoute<Block>>>
Tree route from old best to new best parent.
If None
, there was no re-org while importing.
Implementations§
source§impl<Block: BlockT> BlockImportNotification<Block>
impl<Block: BlockT> BlockImportNotification<Block>
sourcepub fn new(
hash: Block::Hash,
origin: BlockOrigin,
header: Block::Header,
is_new_best: bool,
tree_route: Option<Arc<TreeRoute<Block>>>,
unpin_worker_sender: TracingUnboundedSender<Block::Hash>
) -> Self
pub fn new( hash: Block::Hash, origin: BlockOrigin, header: Block::Header, is_new_best: bool, tree_route: Option<Arc<TreeRoute<Block>>>, unpin_worker_sender: TracingUnboundedSender<Block::Hash> ) -> Self
Create new notification
sourcepub fn into_unpin_handle(self) -> UnpinHandle<Block>
pub fn into_unpin_handle(self) -> UnpinHandle<Block>
Consume this notification and extract the unpin handle.
Note: Only use this if you want to keep the block pinned in the backend.
source§impl<Block: BlockT> BlockImportNotification<Block>
impl<Block: BlockT> BlockImportNotification<Block>
sourcepub fn from_summary(
summary: ImportSummary<Block>,
unpin_worker_sender: TracingUnboundedSender<Block::Hash>
) -> BlockImportNotification<Block>
pub fn from_summary( summary: ImportSummary<Block>, unpin_worker_sender: TracingUnboundedSender<Block::Hash> ) -> BlockImportNotification<Block>
Create finality notification from finality summary.
Trait Implementations§
source§impl<Block: Clone + BlockT> Clone for BlockImportNotification<Block>where
Block::Hash: Clone,
Block::Header: Clone,
impl<Block: Clone + BlockT> Clone for BlockImportNotification<Block>where Block::Hash: Clone, Block::Header: Clone,
source§fn clone(&self) -> BlockImportNotification<Block>
fn clone(&self) -> BlockImportNotification<Block>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<Block: Debug + BlockT> Debug for BlockImportNotification<Block>where
Block::Hash: Debug,
Block::Header: Debug,
impl<Block: Debug + BlockT> Debug for BlockImportNotification<Block>where Block::Hash: Debug, Block::Header: Debug,
source§impl<B: BlockT> TryFrom<BlockImportNotification<B>> for ChainEvent<B>
impl<B: BlockT> TryFrom<BlockImportNotification<B>> for ChainEvent<B>
Auto Trait Implementations§
impl<Block> !RefUnwindSafe for BlockImportNotification<Block>
impl<Block> Send for BlockImportNotification<Block>
impl<Block> Sync for BlockImportNotification<Block>
impl<Block> Unpin for BlockImportNotification<Block>where <Block as Block>::Hash: Unpin, <Block as Block>::Header: Unpin,
impl<Block> !UnwindSafe for BlockImportNotification<Block>
Blanket Implementations§
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.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, Outer> IsWrappedBy<Outer> for Twhere
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for Twhere Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,
§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 moresource§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from
.§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T
.