Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Handler ¶
type Handler interface { common.Timer Context() *snow.ConsensusContext IsValidator(nodeID ids.ShortID) bool SetBootstrapper(engine common.BootstrapableEngine) Bootstrapper() common.BootstrapableEngine SetConsensus(engine common.Engine) Consensus() common.Engine SetOnStopped(onStopped func()) Start(recoverPanic bool) Push(msg message.InboundMessage) Stop() StopWithError(err error) Stopped() chan struct{} }
func New ¶
func New( mc message.Creator, ctx *snow.ConsensusContext, validators validators.Set, msgFromVMChan <-chan common.Message, preemptTimeouts chan struct{}, gossipFrequency time.Duration, ) (Handler, error)
Initialize this consensus handler [engine] must be initialized before initializing this handler
type MessageQueue ¶
type MessageQueue interface { // Add a message. // // If called after [Shutdown], the message will immediately be marked as // having been handled. Push(message.InboundMessage) // Get and remove a message. // // If there are no available messages, this function will block until a // message becomes available or the queue is [Shutdown]. Pop() (message.InboundMessage, bool) // Returns the number of messages currently on the queue Len() int // Shutdown and empty the queue. Shutdown() }
func NewMessageQueue ¶
func NewMessageQueue( log logging.Logger, vdrs validators.Set, cpuTracker tracker.TimeTracker, metricsNamespace string, metricsRegisterer prometheus.Registerer, ) (MessageQueue, error)
Click to show internal directories.
Click to hide internal directories.