[][src]Struct finality_grandpa::round::Round

pub struct Round<Id: Hash + Eq, H: Hash + Eq, N, Signature> { /* fields omitted */ }

Stores data for a round.

Methods

impl<Id, H, N, Signature> Round<Id, H, N, Signature> where
    Id: Hash + Clone + Eq + Debug,
    H: Hash + Clone + Eq + Ord + Debug,
    N: Copy + Debug + BlockNumberOps,
    Signature: Eq + Clone
[src]

pub fn new(round_params: RoundParams<Id, H, N>) -> Self[src]

Create a new round accumulator for given round number and with given weight. Not guaranteed to work correctly unless total_weight more than 3x larger than faulty_weight

pub fn number(&self) -> u64[src]

Return the round number.

pub fn state(&self) -> State<H, N>[src]

pub fn precommit_ghost(&mut self) -> Option<(H, N)>[src]

Compute and cache the precommit-GHOST.

pub fn finalizing_precommits<'a, C: 'a + Chain<H, N>>(
    &'a mut self,
    chain: &'a C
) -> Option<impl Iterator<Item = SignedPrecommit<H, N, Signature, Id>> + 'a>
[src]

Returns an iterator of all precommits targeting the finalized hash.

Only returns None if no block has been finalized in this round.

pub fn estimate(&self) -> Option<&(H, N)>[src]

Fetch the "round-estimate": the best block which might have been finalized in this round.

Returns None when new new blocks could have been finalized in this round, according to our estimate.

pub fn finalized(&self) -> Option<&(H, N)>[src]

Fetch the most recently finalized block.

pub fn completable(&self) -> bool[src]

Returns true when the round is completable.

This is the case when the round-estimate is an ancestor of the prevote-ghost head, or when they are the same block and none of its children could possibly have enough precommits.

pub fn threshold(&self) -> u64[src]

pub fn base(&self) -> (H, N)[src]

Return the round base.

pub fn voters(&self) -> &VoterSet<Id>[src]

Return the round voters and weights.

pub fn primary_voter(&self) -> &(Id, u64)[src]

Return the primary voter of the round.

Important traits for Vec<u8>
pub fn prevotes(&self) -> Vec<(Id, Prevote<H, N>, Signature)>[src]

Return all imported prevotes.

Important traits for Vec<u8>
pub fn precommits(&self) -> Vec<(Id, Precommit<H, N>, Signature)>[src]

Return all imported precommits.

Auto Trait Implementations

impl<Id, H, N, Signature> Send for Round<Id, H, N, Signature> where
    H: Send,
    Id: Send,
    N: Send,
    Signature: Send

impl<Id, H, N, Signature> Sync for Round<Id, H, N, Signature> where
    H: Sync,
    Id: Sync,
    N: Sync,
    Signature: Sync

Blanket Implementations

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

impl<T> From for T[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

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

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

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

The type returned in the event of a conversion error.

impl<T> Erased for T