pub trait HandleVoteEvent<TYPES, VOTE, CERT>
where TYPES: NodeType, VOTE: Vote<TYPES> + AggregatableVote<TYPES, VOTE, CERT>, CERT: Certificate<TYPES, Voteable = VOTE::Commitment> + Debug,
{ // Required methods fn handle_vote_event<'life0, 'life1, 'async_trait>( &'life0 mut self, event: Arc<HotShotEvent<TYPES>>, sender: &'life1 Sender<Arc<HotShotEvent<TYPES>>> ) -> Pin<Box<dyn Future<Output = Option<HotShotTaskCompleted>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn filter(event: Arc<HotShotEvent<TYPES>>) -> bool; }
Expand description

Trait for types which will handle a vote event.

Required Methods§

source

fn handle_vote_event<'life0, 'life1, 'async_trait>( &'life0 mut self, event: Arc<HotShotEvent<TYPES>>, sender: &'life1 Sender<Arc<HotShotEvent<TYPES>>> ) -> Pin<Box<dyn Future<Output = Option<HotShotTaskCompleted>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Handle a vote event

source

fn filter(event: Arc<HotShotEvent<TYPES>>) -> bool

Event filter to use for this event

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<TYPES: NodeType, V: Versions> HandleVoteEvent<TYPES, SimpleVote<TYPES, DaData>, SimpleCertificate<TYPES, DaData, SuccessThreshold>> for VoteCollectionTaskState<TYPES, DaVote<TYPES>, DaCertificate<TYPES>, V>

source§

impl<TYPES: NodeType, V: Versions> HandleVoteEvent<TYPES, SimpleVote<TYPES, QuorumData<TYPES>>, SimpleCertificate<TYPES, QuorumData<TYPES>, SuccessThreshold>> for VoteCollectionTaskState<TYPES, QuorumVote<TYPES>, QuorumCertificate<TYPES>, V>

source§

impl<TYPES: NodeType, V: Versions> HandleVoteEvent<TYPES, SimpleVote<TYPES, TimeoutData<TYPES>>, SimpleCertificate<TYPES, TimeoutData<TYPES>, SuccessThreshold>> for VoteCollectionTaskState<TYPES, TimeoutVote<TYPES>, TimeoutCertificate<TYPES>, V>

source§

impl<TYPES: NodeType, V: Versions> HandleVoteEvent<TYPES, SimpleVote<TYPES, UpgradeProposalData<TYPES>>, SimpleCertificate<TYPES, UpgradeProposalData<TYPES>, UpgradeThreshold>> for VoteCollectionTaskState<TYPES, UpgradeVote<TYPES>, UpgradeCertificate<TYPES>, V>

source§

impl<TYPES: NodeType, V: Versions> HandleVoteEvent<TYPES, SimpleVote<TYPES, ViewSyncCommitData<TYPES>>, SimpleCertificate<TYPES, ViewSyncCommitData<TYPES>, SuccessThreshold>> for VoteCollectionTaskState<TYPES, ViewSyncCommitVote<TYPES>, ViewSyncCommitCertificate2<TYPES>, V>

source§

impl<TYPES: NodeType, V: Versions> HandleVoteEvent<TYPES, SimpleVote<TYPES, ViewSyncFinalizeData<TYPES>>, SimpleCertificate<TYPES, ViewSyncFinalizeData<TYPES>, SuccessThreshold>> for VoteCollectionTaskState<TYPES, ViewSyncFinalizeVote<TYPES>, ViewSyncFinalizeCertificate2<TYPES>, V>

source§

impl<TYPES: NodeType, V: Versions> HandleVoteEvent<TYPES, SimpleVote<TYPES, ViewSyncPreCommitData<TYPES>>, SimpleCertificate<TYPES, ViewSyncPreCommitData<TYPES>, OneHonestThreshold>> for VoteCollectionTaskState<TYPES, ViewSyncPreCommitVote<TYPES>, ViewSyncPreCommitCertificate2<TYPES>, V>