bootstrap

package
v1.11.12-rc.11 Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2024 License: BSD-3-Clause Imports: 23 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Bootstrapper

type Bootstrapper struct {
	Config
	common.Halter

	// list of NoOpsHandler for messages dropped by Bootstrapper
	common.StateSummaryFrontierHandler
	common.AcceptedStateSummaryHandler
	common.AcceptedFrontierHandler
	common.AcceptedHandler
	common.PutHandler
	common.QueryHandler
	common.ChitsHandler
	common.AppHandler
	// contains filtered or unexported fields
}

Note: To align with the Snowman invariant, it should be guaranteed the VM is not used until after the Bootstrapper has been Started.

func New

func New(
	config Config,
	onFinished func(ctx context.Context, lastReqID uint32) error,
	reg prometheus.Registerer,
) (*Bootstrapper, error)

func (*Bootstrapper) Ancestors

func (b *Bootstrapper) Ancestors(ctx context.Context, nodeID ids.NodeID, requestID uint32, vtxs [][]byte) error

Ancestors handles the receipt of multiple containers. Should be received in response to a GetAncestors message to [nodeID] with request ID [requestID]. Expects vtxs[0] to be the vertex requested in the corresponding GetAncestors.

func (*Bootstrapper) Clear

func (b *Bootstrapper) Clear(context.Context) error

func (*Bootstrapper) Connected

func (b *Bootstrapper) Connected(
	ctx context.Context,
	nodeID ids.NodeID,
	nodeVersion *version.Application,
) error

func (*Bootstrapper) Context

func (b *Bootstrapper) Context() *snow.ConsensusContext

func (*Bootstrapper) Disconnected

func (b *Bootstrapper) Disconnected(ctx context.Context, nodeID ids.NodeID) error

func (*Bootstrapper) GetAncestorsFailed

func (b *Bootstrapper) GetAncestorsFailed(ctx context.Context, nodeID ids.NodeID, requestID uint32) error

func (*Bootstrapper) Gossip

func (*Bootstrapper) Gossip(context.Context) error

func (*Bootstrapper) HealthCheck

func (b *Bootstrapper) HealthCheck(ctx context.Context) (interface{}, error)

func (*Bootstrapper) Initialize

func (m *Bootstrapper) Initialize(registerer prometheus.Registerer) error

func (*Bootstrapper) Notify

func (*Bootstrapper) Shutdown

func (b *Bootstrapper) Shutdown(ctx context.Context) error

func (*Bootstrapper) Start

func (b *Bootstrapper) Start(ctx context.Context, startReqID uint32) error

func (*Bootstrapper) Timeout

func (*Bootstrapper) Timeout(context.Context) error

type Config

type Config struct {
	common.AllGetsServer

	Ctx *snow.ConsensusContext

	StartupTracker tracker.Startup
	Sender         common.Sender

	// PeerTracker manages the set of nodes that we fetch the next block from.
	PeerTracker *p2p.PeerTracker

	// This node will only consider the first [AncestorsMaxContainersReceived]
	// containers in an ancestors message it receives.
	AncestorsMaxContainersReceived int

	// VtxBlocked tracks operations that are blocked on vertices
	VtxBlocked *queue.JobsWithMissing
	// TxBlocked tracks operations that are blocked on transactions
	TxBlocked *queue.Jobs

	Manager vertex.Manager
	VM      vertex.LinearizableVM

	// If StopVertexID is empty, the engine will generate the stop vertex based
	// on the current state.
	StopVertexID ids.ID
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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