Struct finality_grandpa::CatchUp[][src]

pub struct CatchUp<H, N, S, Id> {
    pub round_number: u64,
    pub prevotes: Vec<SignedPrevote<H, N, S, Id>>,
    pub precommits: Vec<SignedPrecommit<H, N, S, Id>>,
    pub base_hash: H,
    pub base_number: N,
}

A catch-up message, which is an aggregate of prevotes and precommits necessary to complete a round.

This message contains a “base”, which is a block all of the vote-targets are a descendent of.

Fields

round_number: u64

Round number.

prevotes: Vec<SignedPrevote<H, N, S, Id>>

Prevotes for target block or any block after it that justify this catch-up.

precommits: Vec<SignedPrecommit<H, N, S, Id>>

Precommits for target block or any block after it that justify this catch-up.

base_hash: H

The base hash. See struct docs.

base_number: N

The base number. See struct docs.

Trait Implementations

impl<H: Clone, N: Clone, S: Clone, Id: Clone> Clone for CatchUp<H, N, S, Id>[src]

impl<H: Debug, N: Debug, S: Debug, Id: Debug> Debug for CatchUp<H, N, S, Id>[src]

impl<H, N, S, Id> Decode for CatchUp<H, N, S, Id> where
    Vec<SignedPrevote<H, N, S, Id>>: Decode,
    Vec<SignedPrevote<H, N, S, Id>>: Decode,
    Vec<SignedPrecommit<H, N, S, Id>>: Decode,
    Vec<SignedPrecommit<H, N, S, Id>>: Decode,
    H: Decode,
    H: Decode,
    N: Decode,
    N: Decode
[src]

impl<H, N, S, Id> Encode for CatchUp<H, N, S, Id> where
    Vec<SignedPrevote<H, N, S, Id>>: Encode,
    Vec<SignedPrevote<H, N, S, Id>>: Encode,
    Vec<SignedPrecommit<H, N, S, Id>>: Encode,
    Vec<SignedPrecommit<H, N, S, Id>>: Encode,
    H: Encode,
    H: Encode,
    N: Encode,
    N: Encode
[src]

impl<H, N, S, Id> EncodeLike<CatchUp<H, N, S, Id>> for CatchUp<H, N, S, Id> where
    Vec<SignedPrevote<H, N, S, Id>>: Encode,
    Vec<SignedPrevote<H, N, S, Id>>: Encode,
    Vec<SignedPrecommit<H, N, S, Id>>: Encode,
    Vec<SignedPrecommit<H, N, S, Id>>: Encode,
    H: Encode,
    H: Encode,
    N: Encode,
    N: Encode
[src]

impl<H: Eq, N: Eq, S: Eq, Id: Eq> Eq for CatchUp<H, N, S, Id>[src]

impl<H: PartialEq, N: PartialEq, S: PartialEq, Id: PartialEq> PartialEq<CatchUp<H, N, S, Id>> for CatchUp<H, N, S, Id>[src]

impl<H, N, S, Id> StructuralEq for CatchUp<H, N, S, Id>[src]

impl<H, N, S, Id> StructuralPartialEq for CatchUp<H, N, S, Id>[src]

Auto Trait Implementations

impl<H, N, S, Id> RefUnwindSafe for CatchUp<H, N, S, Id> where
    H: RefUnwindSafe,
    Id: RefUnwindSafe,
    N: RefUnwindSafe,
    S: RefUnwindSafe

impl<H, N, S, Id> Send for CatchUp<H, N, S, Id> where
    H: Send,
    Id: Send,
    N: Send,
    S: Send

impl<H, N, S, Id> Sync for CatchUp<H, N, S, Id> where
    H: Sync,
    Id: Sync,
    N: Sync,
    S: Sync

impl<H, N, S, Id> Unpin for CatchUp<H, N, S, Id> where
    H: Unpin,
    Id: Unpin,
    N: Unpin,
    S: Unpin

impl<H, N, S, Id> UnwindSafe for CatchUp<H, N, S, Id> where
    H: UnwindSafe,
    Id: UnwindSafe,
    N: UnwindSafe,
    S: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<S> Codec for S where
    S: Encode + Decode
[src]

impl<T> DecodeAll for T where
    T: Decode
[src]

impl<T> DecodeLimit for T where
    T: Decode
[src]

impl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
    T: Encode
[src]

impl<'_, T> EncodeLike<&'_ T> for T where
    T: Encode
[src]

impl<'_, T> EncodeLike<&'_ mut T> for T where
    T: Encode
[src]

impl<T> EncodeLike<Arc<T>> for T where
    T: Encode
[src]

impl<T> EncodeLike<Box<T, Global>> for T where
    T: Encode
[src]

impl<'a, T> EncodeLike<Cow<'a, T>> for T where
    T: Encode + ToOwned
[src]

impl<T> EncodeLike<Rc<T>> for T where
    T: Encode
[src]

impl<T> From<T> for T[src]

impl<S> FullCodec for S where
    S: Decode + FullEncode
[src]

impl<S> FullEncode for S where
    S: Encode + EncodeLike<S>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> KeyedVec for T where
    T: Codec
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.