handler

package
v1.11.6-jackson Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 25, 2024 License: BSD-3-Clause Imports: 30 Imported by: 0

Documentation

Overview

Package handler is a generated GoMock package.

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

type Engine struct {
	StateSyncer  common.StateSyncer
	Bootstrapper common.BootstrapableEngine
	Consensus    common.Engine
}

Engine is a wrapper around a consensus engine's components.

func (*Engine) Get

func (e *Engine) Get(state snow.State) (common.Engine, bool)

Get returns the engine corresponding to the provided state, and whether its corresponding engine is initialized (not nil).

type EngineManager

type EngineManager struct {
	Avalanche *Engine
	Snowman   *Engine
}

EngineManager resolves the engine that should be used given the current execution context of the chain.

func (*EngineManager) Get

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 {
	common.Timer
	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

func New(
	ctx *snow.ConsensusContext,
	validators validators.Manager,
	msgFromVMChan <-chan common.Message,
	gossipFrequency time.Duration,
	threadPoolSize int,
	resourceTracker tracker.ResourceTracker,
	subnetConnector validators.SubnetConnector,
	subnet subnets.Subnet,
	peerTracker commontracker.Peers,
	p2pTracker *p2p.PeerTracker,
) (Handler, error)

Initialize this consensus handler [engine] must be initialized before initializing this handler

type Message

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

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

func NewMessageQueue(
	ctx *snow.ConsensusContext,
	vdrs validators.Manager,
	cpuTracker tracker.Tracker,
	metricsNamespace string,
) (MessageQueue, error)

type MockHandler

type MockHandler struct {
	// contains filtered or unexported fields
}

MockHandler is a mock of Handler interface.

func NewMockHandler

func NewMockHandler(ctrl *gomock.Controller) *MockHandler

NewMockHandler creates a new mock instance.

func (*MockHandler) AwaitStopped

func (m *MockHandler) AwaitStopped(arg0 context.Context) (time.Duration, error)

AwaitStopped mocks base method.

func (*MockHandler) Context

func (m *MockHandler) Context() *snow.ConsensusContext

Context mocks base method.

func (*MockHandler) EXPECT

func (m *MockHandler) EXPECT() *MockHandlerMockRecorder

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockHandler) GetEngineManager

func (m *MockHandler) GetEngineManager() *EngineManager

GetEngineManager mocks base method.

func (*MockHandler) HealthCheck

func (m *MockHandler) HealthCheck(arg0 context.Context) (any, error)

HealthCheck mocks base method.

func (*MockHandler) Len

func (m *MockHandler) Len() int

Len mocks base method.

func (*MockHandler) Push

func (m *MockHandler) Push(arg0 context.Context, arg1 Message)

Push mocks base method.

func (*MockHandler) RegisterTimeout

func (m *MockHandler) RegisterTimeout(arg0 time.Duration)

RegisterTimeout mocks base method.

func (*MockHandler) SetEngineManager

func (m *MockHandler) SetEngineManager(arg0 *EngineManager)

SetEngineManager mocks base method.

func (*MockHandler) SetOnStopped

func (m *MockHandler) SetOnStopped(arg0 func())

SetOnStopped mocks base method.

func (*MockHandler) ShouldHandle

func (m *MockHandler) ShouldHandle(arg0 ids.NodeID) bool

ShouldHandle mocks base method.

func (*MockHandler) Start

func (m *MockHandler) Start(arg0 context.Context, arg1 bool)

Start mocks base method.

func (*MockHandler) Stop

func (m *MockHandler) Stop(arg0 context.Context)

Stop mocks base method.

func (*MockHandler) StopWithError

func (m *MockHandler) StopWithError(arg0 context.Context, arg1 error)

StopWithError mocks base method.

type MockHandlerMockRecorder

type MockHandlerMockRecorder struct {
	// contains filtered or unexported fields
}

MockHandlerMockRecorder is the mock recorder for MockHandler.

func (*MockHandlerMockRecorder) AwaitStopped

func (mr *MockHandlerMockRecorder) AwaitStopped(arg0 any) *gomock.Call

AwaitStopped indicates an expected call of AwaitStopped.

func (*MockHandlerMockRecorder) Context

func (mr *MockHandlerMockRecorder) Context() *gomock.Call

Context indicates an expected call of Context.

func (*MockHandlerMockRecorder) GetEngineManager

func (mr *MockHandlerMockRecorder) GetEngineManager() *gomock.Call

GetEngineManager indicates an expected call of GetEngineManager.

func (*MockHandlerMockRecorder) HealthCheck

func (mr *MockHandlerMockRecorder) HealthCheck(arg0 any) *gomock.Call

HealthCheck indicates an expected call of HealthCheck.

func (*MockHandlerMockRecorder) Len

func (mr *MockHandlerMockRecorder) Len() *gomock.Call

Len indicates an expected call of Len.

func (*MockHandlerMockRecorder) Push

func (mr *MockHandlerMockRecorder) Push(arg0, arg1 any) *gomock.Call

Push indicates an expected call of Push.

func (*MockHandlerMockRecorder) RegisterTimeout

func (mr *MockHandlerMockRecorder) RegisterTimeout(arg0 any) *gomock.Call

RegisterTimeout indicates an expected call of RegisterTimeout.

func (*MockHandlerMockRecorder) SetEngineManager

func (mr *MockHandlerMockRecorder) SetEngineManager(arg0 any) *gomock.Call

SetEngineManager indicates an expected call of SetEngineManager.

func (*MockHandlerMockRecorder) SetOnStopped

func (mr *MockHandlerMockRecorder) SetOnStopped(arg0 any) *gomock.Call

SetOnStopped indicates an expected call of SetOnStopped.

func (*MockHandlerMockRecorder) ShouldHandle

func (mr *MockHandlerMockRecorder) ShouldHandle(arg0 any) *gomock.Call

ShouldHandle indicates an expected call of ShouldHandle.

func (*MockHandlerMockRecorder) Start

func (mr *MockHandlerMockRecorder) Start(arg0, arg1 any) *gomock.Call

Start indicates an expected call of Start.

func (*MockHandlerMockRecorder) Stop

func (mr *MockHandlerMockRecorder) Stop(arg0 any) *gomock.Call

Stop indicates an expected call of Stop.

func (*MockHandlerMockRecorder) StopWithError

func (mr *MockHandlerMockRecorder) StopWithError(arg0, arg1 any) *gomock.Call

StopWithError indicates an expected call of StopWithError.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL