Struct finality_grandpa::CatchUp
source · 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,
}
Expand description
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§
source§impl<H, N, S, Id> Decode for CatchUp<H, N, S, Id>where
Vec<SignedPrevote<H, N, S, Id>>: Decode,
Vec<SignedPrecommit<H, N, S, Id>>: Decode,
H: Decode,
N: Decode,
impl<H, N, S, Id> Decode for CatchUp<H, N, S, Id>where
Vec<SignedPrevote<H, N, S, Id>>: Decode,
Vec<SignedPrecommit<H, N, S, Id>>: Decode,
H: Decode,
N: Decode,
source§fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy,
) -> Result<Self, Error>
fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy, ) -> Result<Self, Error>
Attempt to deserialise the value from input.
source§fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
source§impl<H, N, S, Id> Encode for CatchUp<H, N, S, Id>where
Vec<SignedPrevote<H, N, S, Id>>: Encode,
Vec<SignedPrecommit<H, N, S, Id>>: Encode,
H: Encode,
N: Encode,
impl<H, N, S, Id> Encode for CatchUp<H, N, S, Id>where
Vec<SignedPrevote<H, N, S, Id>>: Encode,
Vec<SignedPrecommit<H, N, S, Id>>: Encode,
H: Encode,
N: Encode,
source§fn size_hint(&self) -> usize
fn size_hint(&self) -> usize
If possible give a hint of expected size of the encoding. Read more
source§fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy,
)
fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
Convert self to a slice and append it to the destination.
source§fn using_encoded<R, F>(&self, f: F) -> R
fn using_encoded<R, F>(&self, f: F) -> R
Convert self to a slice and then invoke the given closure with it.
source§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more
source§impl<H: PartialEq, N: PartialEq, S: PartialEq, Id: PartialEq> PartialEq for CatchUp<H, N, S, Id>
impl<H: PartialEq, N: PartialEq, S: PartialEq, Id: PartialEq> PartialEq for CatchUp<H, N, S, Id>
source§impl<H, N, S, Id> TypeInfo for CatchUp<H, N, S, Id>where
Vec<SignedPrevote<H, N, S, Id>>: TypeInfo + 'static,
Vec<SignedPrecommit<H, N, S, Id>>: TypeInfo + 'static,
H: TypeInfo + 'static,
N: TypeInfo + 'static,
S: TypeInfo + 'static,
Id: TypeInfo + 'static,
impl<H, N, S, Id> TypeInfo for CatchUp<H, N, S, Id>where
Vec<SignedPrevote<H, N, S, Id>>: TypeInfo + 'static,
Vec<SignedPrecommit<H, N, S, Id>>: TypeInfo + 'static,
H: TypeInfo + 'static,
N: TypeInfo + 'static,
S: TypeInfo + 'static,
Id: TypeInfo + 'static,
impl<H, N, S, Id> EncodeLike for CatchUp<H, N, S, Id>where
Vec<SignedPrevote<H, N, S, Id>>: Encode,
Vec<SignedPrecommit<H, N, S, Id>>: Encode,
H: Encode,
N: Encode,
impl<H: Eq, N: Eq, S: Eq, Id: Eq> Eq for CatchUp<H, N, S, Id>
impl<H, N, S, Id> StructuralPartialEq for CatchUp<H, N, S, Id>
Auto Trait Implementations§
impl<H, N, S, Id> Freeze for CatchUp<H, N, S, Id>
impl<H, N, S, Id> RefUnwindSafe for CatchUp<H, N, S, Id>
impl<H, N, S, Id> Send for CatchUp<H, N, S, Id>
impl<H, N, S, Id> Sync for CatchUp<H, N, S, Id>
impl<H, N, S, Id> Unpin for CatchUp<H, N, S, Id>
impl<H, N, S, Id> UnwindSafe for CatchUp<H, N, S, Id>
Blanket Implementations§
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> DecodeLimit for Twhere
T: Decode,
impl<T> DecodeLimit for Twhere
T: Decode,
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