poll

package
v1.10.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 24, 2023 License: BSD-3-Clause Imports: 11 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Factory

type Factory interface {
	New(vdrs bag.Bag[ids.NodeID]) Poll
}

Factory creates a new Poll

func NewEarlyTermNoTraversalFactory

func NewEarlyTermNoTraversalFactory(alpha int) Factory

NewEarlyTermNoTraversalFactory returns a factory that returns polls with early termination, without doing DAG traversals

func NewNoEarlyTermFactory

func NewNoEarlyTermFactory() Factory

NewNoEarlyTermFactory returns a factory that returns polls with no early termination

type Poll

type Poll interface {
	formatting.PrefixedStringer

	Vote(vdr ids.NodeID, vote ids.ID)
	Drop(vdr ids.NodeID)
	Finished() bool
	Result() bag.Bag[ids.ID]
}

Poll is an outstanding poll

type Set

type Set interface {
	fmt.Stringer

	Add(requestID uint32, vdrs bag.Bag[ids.NodeID]) bool
	Vote(requestID uint32, vdr ids.NodeID, vote ids.ID) []bag.Bag[ids.ID]
	Drop(requestID uint32, vdr ids.NodeID) []bag.Bag[ids.ID]
	Len() int
}

Set is a collection of polls

func NewSet

func NewSet(
	factory Factory,
	log logging.Logger,
	namespace string,
	reg prometheus.Registerer,
) Set

NewSet returns a new empty set of polls

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL