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(ctx context.Context, msg message.InboundMessage) Len() int Stop() StopWithError(err error) Stopped() chan struct{} }
func New ¶
func New( mc message.InternalMsgBuilder, 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 ¶
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 ¶
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.