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
health.Checker
Context() *snow.ConsensusContext
IsValidator(nodeID ids.NodeID) bool
SetStateSyncer(engine common.StateSyncer)
StateSyncer() common.StateSyncer
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 ¶ added in v1.7.5
func New( mc message.Creator, ctx *snow.ConsensusContext, validators validators.Set, msgFromVMChan <-chan common.Message, preemptTimeouts chan struct{}, gossipFrequency time.Duration, resourceTracker tracker.ResourceTracker, ) (Handler, error)
Initialize this consensus handler [engine] must be initialized before initializing this handler
type MessageQueue ¶ added in v1.7.5
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 ¶ added in v1.7.5
func NewMessageQueue( log logging.Logger, vdrs validators.Set, cpuTracker tracker.Tracker, metricsNamespace string, metricsRegisterer prometheus.Registerer, ops []message.Op, ) (MessageQueue, error)
Click to show internal directories.
Click to hide internal directories.