 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
This section is empty.
Variables ¶
      View Source
      
  
var ErrNotConnectedEnoughStake = errors.New("not connected to enough stake")
    Functions ¶
This section is empty.
Types ¶
type Engine ¶ added in v1.9.12
type Engine struct {
	StateSyncer  common.StateSyncer
	Bootstrapper common.BootstrapableEngine
	Consensus    common.Engine
}
    Engine is a wrapper around a consensus engine's components.
type EngineManager ¶ added in v1.9.12
EngineManager resolves the engine that should be used given the current execution context of the chain.
func (*EngineManager) Get ¶ added in v1.9.12
func (e *EngineManager) Get(engineType p2p.EngineType) *Engine
Get returns the engine corresponding to the provided type if possible. If an engine type is not specified, the initial engine type is returned.
type Handler ¶
type Handler interface {
	health.Checker
	Context() *snow.ConsensusContext
	// ShouldHandle returns true if the node with the given ID is allowed to send
	// messages to this chain. If the node is not allowed to send messages to
	// this chain, the message should be dropped.
	ShouldHandle(nodeID ids.NodeID) bool
	SetEngineManager(engineManager *EngineManager)
	GetEngineManager() *EngineManager
	SetOnStopped(onStopped func())
	Start(ctx context.Context, recoverPanic bool)
	Push(ctx context.Context, msg Message)
	Len() int
	Stop(ctx context.Context)
	StopWithError(ctx context.Context, err error)
	// AwaitStopped returns an error if the call would block and [ctx] is done.
	// Even if [ctx] is done when passed into this function, this function will
	// return a nil error if it will not block.
	AwaitStopped(ctx context.Context) (time.Duration, error)
}
    func New ¶ added in v1.7.5
func New( ctx *snow.ConsensusContext, validators validators.Manager, msgFromVMChan <-chan common.Message, gossipFrequency time.Duration, threadPoolSize int, resourceTracker tracker.ResourceTracker, subnet subnets.Subnet, peerTracker commontracker.Peers, p2pTracker *p2p.PeerTracker, reg prometheus.Registerer, haltBootstrapping func(), ) (Handler, error)
Initialize this consensus handler [engine] must be initialized before initializing this handler
type Message ¶ added in v1.9.12
type Message struct {
	// The original message from the peer
	message.InboundMessage
	// The desired engine type to execute this message. If not specified,
	// the current executing engine type is used.
	EngineType p2p.EngineType
}
    Message defines individual messages that have been parsed from the network and are now pending execution from the chain.
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)
	// 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, 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, subnetID ids.ID, vdrs validators.Manager, cpuTracker tracker.Tracker, metricsNamespace string, reg prometheus.Registerer, ) (MessageQueue, error)
       Source Files
      ¶
      Source Files
      ¶
    
  
       Directories
      ¶
      Directories
      ¶
    
    | Path | Synopsis | 
|---|---|
| Package handlermock is a generated GoMock package. | Package handlermock is a generated GoMock package. | 
 Click to show internal directories. 
   Click to hide internal directories.