Versions in this module Expand all Collapse all v1 v1.11.10 Jul 13, 2024 Changes in this version + func Sample[T comparable](elements map[T]uint64, maxSize int) (set.Set[T], error) + type Majority struct + func NewMajority(log logging.Logger, nodeWeights map[ids.NodeID]uint64, maxOutstanding int) *Majority + func (m *Majority) RecordOpinion(_ context.Context, nodeID ids.NodeID, blkIDs set.Set[ids.ID]) error + func (m *Majority) Result(context.Context) ([]ids.ID, bool) + func (r *Majority) GetPeers(context.Context) set.Set[ids.NodeID] + type Minority struct + func NewMinority(log logging.Logger, frontierNodes set.Set[ids.NodeID], maxOutstanding int) *Minority + func (m *Minority) RecordOpinion(_ context.Context, nodeID ids.NodeID, blkIDs set.Set[ids.ID]) error + func (m *Minority) Result(context.Context) ([]ids.ID, bool) + func (r *Minority) GetPeers(context.Context) set.Set[ids.NodeID] + type Poll interface + GetPeers func(ctx context.Context) (peers set.Set[ids.NodeID]) + RecordOpinion func(ctx context.Context, nodeID ids.NodeID, blkIDs set.Set[ids.ID]) error + Result func(ctx context.Context) (blkIDs []ids.ID, finalized bool) + var Noop Poll = noop{}