[][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.

pub fn historical_votes(&self) -> &HistoricalVotes<H, N, Signature, Id>[src]

Return all votes for the round (prevotes and precommits), sorted by imported order and indicating the indices where we voted. At most two prevotes and two precommits per voter are present, further equivocations are not stored (as they are redundant).

pub fn set_prevoted_index(&mut self)[src]

Set the number of prevotes and precommits received at the moment of prevoting. It should be called inmediatly after prevoting.

pub fn set_precommited_index(&mut self)[src]

Set the number of prevotes and precommits received at the moment of precommiting. It should be called inmediatly after precommiting.

pub fn prevoted_index(&self) -> Option<u64>[src]

Get the number of prevotes and precommits received at the moment of prevoting. Returns None if the prevote wasn't realized.

pub fn precommited_index(&self) -> Option<u64>[src]

Get the number of prevotes and precommits received at the moment of precommiting. Returns None if the precommit wasn't realized.

Auto Trait Implementations

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

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

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> !UnwindSafe for Round<Id, H, N, Signature>

impl<Id, H, N, Signature> !RefUnwindSafe for Round<Id, H, N, Signature>

Blanket Implementations

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

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

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.

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

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

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

impl<T> Erased for T