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, 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> 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> 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]fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)
[src][−]
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)
pub fn size_hint(&self) -> usize
[src][−]
pub fn encode(&self) -> Vec<u8, Global>
[src][−]
pub fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
[src][−]
F: FnOnce(&[u8]) -> R,
pub fn encoded_size(&self) -> usize
[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: 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> 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]
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,
impl<H: Eq, N: Eq, S: Eq, Id: Eq> Eq 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,
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,
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,
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,
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,
H: UnwindSafe,
Id: UnwindSafe,
N: UnwindSafe,
S: UnwindSafe,
Blanket Implementations
impl<T> DecodeLimit for T where
T: Decode,
[src]
impl<T> DecodeLimit for T where
T: Decode,
[src]impl<S> Codec for S where
S: Decode + Encode,
[src]
S: Decode + Encode,
impl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
T: Encode,
[src]
T: Encode,
impl<'_, T> EncodeLike<&'_ T> for T where
T: Encode,
[src]
T: Encode,
impl<'_, T> EncodeLike<&'_ mut T> for T where
T: Encode,
[src]
T: Encode,
impl<T> EncodeLike<Arc<T>> for T where
T: Encode,
[src]
T: Encode,
impl<T> EncodeLike<Box<T, Global>> for T where
T: Encode,
[src]
T: Encode,
impl<'a, T> EncodeLike<Cow<'a, T>> for T where
T: ToOwned + Encode,
[src]
T: ToOwned + Encode,
impl<T> EncodeLike<Rc<T>> for T where
T: Encode,
[src]
T: Encode,
impl<S> FullCodec for S where
S: Decode + FullEncode,
[src]
S: Decode + FullEncode,
impl<S> FullEncode for S where
S: Encode + EncodeLike<S>,
[src]
S: Encode + EncodeLike<S>,