github.com/MetalBlockchain/metalgo@v1.11.9/snow/engine/avalanche/bootstrap/config.go (about) 1 // Copyright (C) 2019-2024, Ava Labs, Inc. All rights reserved. 2 // See the file LICENSE for licensing terms. 3 4 package bootstrap 5 6 import ( 7 "github.com/MetalBlockchain/metalgo/ids" 8 "github.com/MetalBlockchain/metalgo/network/p2p" 9 "github.com/MetalBlockchain/metalgo/snow" 10 "github.com/MetalBlockchain/metalgo/snow/engine/avalanche/bootstrap/queue" 11 "github.com/MetalBlockchain/metalgo/snow/engine/avalanche/vertex" 12 "github.com/MetalBlockchain/metalgo/snow/engine/common" 13 "github.com/MetalBlockchain/metalgo/snow/engine/common/tracker" 14 ) 15 16 type Config struct { 17 common.AllGetsServer 18 19 Ctx *snow.ConsensusContext 20 21 StartupTracker tracker.Startup 22 Sender common.Sender 23 24 // PeerTracker manages the set of nodes that we fetch the next block from. 25 PeerTracker *p2p.PeerTracker 26 27 // This node will only consider the first [AncestorsMaxContainersReceived] 28 // containers in an ancestors message it receives. 29 AncestorsMaxContainersReceived int 30 31 // VtxBlocked tracks operations that are blocked on vertices 32 VtxBlocked *queue.JobsWithMissing 33 // TxBlocked tracks operations that are blocked on transactions 34 TxBlocked *queue.Jobs 35 36 Manager vertex.Manager 37 VM vertex.LinearizableVM 38 39 // If StopVertexID is empty, the engine will generate the stop vertex based 40 // on the current state. 41 StopVertexID ids.ID 42 }