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(ctx context.Context, recoverPanic bool)
Push(ctx context.Context, msg message.InboundMessage)
Len() int
Stop(ctx context.Context)
StopWithError(ctx context.Context, err error)
Stopped() chan struct{}
}
func New ¶ added in v1.7.5
func New( 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(context.Context, message.InboundMessage)
// Remove and return a message and its context.
//
// If there are no available messages, this function will block until a
// message becomes available or the queue is [Shutdown].
Pop() (context.Context, 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.