OutputUpdate

Enum OutputUpdate 

Source
pub enum OutputUpdate<TBl, TAsync> {
    Finalized {
        former_index: NodeIndex,
        user_data: TBl,
        former_finalized_async_op_user_data: TAsync,
        best_output_block_updated: bool,
        pruned_blocks: Vec<(NodeIndex, TBl, Option<TAsync>)>,
    },
    Block(OutputUpdateBlock),
    BestBlockChanged {
        best_block_index: Option<NodeIndex>,
    },
}
Expand description

Variants§

§

Finalized

A non-finalized block has been finalized in the output.

This block is no longer part of the data structure.

Blocks are guaranteed to be finalized one after the other, without any gap.

Fields

§former_index: NodeIndex

Index of the node within the data structure. This index is no longer valid and is here for reference.

§user_data: TBl

User data associated to this block.

§former_finalized_async_op_user_data: TAsync

User data associated to the async operation of the previous finalized block.

§best_output_block_updated: bool

true if the finalization has updated the best output block.

§pruned_blocks: Vec<(NodeIndex, TBl, Option<TAsync>)>

Blocks that were a descendant of the former finalized block but not of the new finalized block. These blocks are no longer part of the data structure.

If the Option<TAsync> is Some, then that block was part of the output. Otherwise it wasn’t.

§

Block(OutputUpdateBlock)

A new block has been added to the list of output unfinalized blocks.

§

BestBlockChanged

The output best block has been modified.

Fields

§best_block_index: Option<NodeIndex>

Index of the best block after the finalization. None if the best block is the output finalized block.

Trait Implementations§

Source§

impl<TBl: Clone, TAsync: Clone> Clone for OutputUpdate<TBl, TAsync>

Source§

fn clone(&self) -> OutputUpdate<TBl, TAsync>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<TBl: Debug, TAsync: Debug> Debug for OutputUpdate<TBl, TAsync>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<TBl: PartialEq, TAsync: PartialEq> PartialEq for OutputUpdate<TBl, TAsync>

Source§

fn eq(&self, other: &OutputUpdate<TBl, TAsync>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<TBl: Eq, TAsync: Eq> Eq for OutputUpdate<TBl, TAsync>

Source§

impl<TBl, TAsync> StructuralPartialEq for OutputUpdate<TBl, TAsync>

Auto Trait Implementations§

§

impl<TBl, TAsync> Freeze for OutputUpdate<TBl, TAsync>
where TBl: Freeze, TAsync: Freeze,

§

impl<TBl, TAsync> RefUnwindSafe for OutputUpdate<TBl, TAsync>
where TBl: RefUnwindSafe, TAsync: RefUnwindSafe,

§

impl<TBl, TAsync> Send for OutputUpdate<TBl, TAsync>
where TBl: Send, TAsync: Send,

§

impl<TBl, TAsync> Sync for OutputUpdate<TBl, TAsync>
where TBl: Sync, TAsync: Sync,

§

impl<TBl, TAsync> Unpin for OutputUpdate<TBl, TAsync>
where TBl: Unpin, TAsync: Unpin,

§

impl<TBl, TAsync> UnwindSafe for OutputUpdate<TBl, TAsync>
where TBl: UnwindSafe, TAsync: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

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.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

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.
Source§

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> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V