pub async fn create_vote_accumulator<TYPES, VOTE, CERT, V>(
info: &AccumulatorInfo<TYPES>,
event: Arc<HotShotEvent<TYPES>>,
sender: &Sender<Arc<HotShotEvent<TYPES>>>,
upgrade_lock: UpgradeLock<TYPES, V>,
transition_indicator: EpochTransitionIndicator,
) -> Result<VoteCollectionTaskState<TYPES, VOTE, CERT, V>>where
TYPES: NodeType,
VOTE: Vote<TYPES> +
AggregatableVote<TYPES, VOTE, CERT> +
Send +
Sync + 'static,
CERT: Certificate<TYPES, VOTE::Commitment, Voteable = VOTE::Commitment> +
Debug +
Send +
Sync + 'static,
V: Versions,
VoteCollectionTaskState<TYPES, VOTE, CERT, V>:
HandleVoteEvent<TYPES, VOTE, CERT>,
Expand description
Generic function for spawning a vote task. Returns the event stream id of the spawned task if created
§Errors
If we failed to create the accumulator
§Panics
Calls unwrap but should never panic.