factory

package
v1.6.17 Latest Latest
Warning

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

Go to latest
Published: Feb 23, 2024 License: GPL-3.0 Imports: 53 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewAccountsDBSContainerFactory

func NewAccountsDBSContainerFactory(args ArgsNewAccountsDBSyncersContainerFactory) (*accountDBSyncersContainerFactory, error)

NewAccountsDBSContainerFactory creates a factory for trie syncers container

func NewDataTrieFactory

func NewDataTrieFactory(args ArgsNewDataTrieFactory) (*dataTrieFactory, error)

NewDataTrieFactory creates a data trie factory

func NewExportHandlerFactory

func NewExportHandlerFactory(args ArgsExporter) (*exportHandlerFactory, error)

NewExportHandlerFactory creates an exporter factory

func NewFullSyncInterceptorsContainerFactory

func NewFullSyncInterceptorsContainerFactory(
	args ArgsNewFullSyncInterceptorsContainerFactory,
) (*fullSyncInterceptorsContainerFactory, error)

NewFullSyncInterceptorsContainerFactory is responsible for creating a new interceptors factory object

func NewRequestersContainerFactory added in v1.6.0

func NewRequestersContainerFactory(args ArgsRequestersContainerFactory) (*requestersContainerFactory, error)

NewRequestersContainerFactory creates a new container filled with topic requesters

func NewResolversContainerFactory

func NewResolversContainerFactory(args ArgsNewResolversContainerFactory) (*resolversContainerFactory, error)

NewResolversContainerFactory creates a new container filled with topic resolvers

Types

type ArgsExporter

type ArgsExporter struct {
	CoreComponents                   process.CoreComponentsHolder
	CryptoComponents                 process.CryptoComponentsHolder
	StatusCoreComponents             process.StatusCoreComponentsHolder
	NetworkComponents                mxFactory.NetworkComponentsHolder
	HeaderValidator                  epochStart.HeaderValidator
	DataPool                         dataRetriever.PoolsHolder
	StorageService                   dataRetriever.StorageService
	RequestHandler                   process.RequestHandler
	ShardCoordinator                 sharding.Coordinator
	ActiveAccountsDBs                map[state.AccountsDbIdentifier]state.AccountsAdapter
	ExistingResolvers                dataRetriever.ResolversContainer
	ExistingRequesters               dataRetriever.RequestersContainer
	ExportFolder                     string
	ExportTriesStorageConfig         config.StorageConfig
	ExportStateStorageConfig         config.StorageConfig
	ExportStateKeysConfig            config.StorageConfig
	MaxTrieLevelInMemory             uint
	WhiteListHandler                 process.WhiteListHandler
	WhiteListerVerifiedTxs           process.WhiteListHandler
	MainInterceptorsContainer        process.InterceptorsContainer
	FullArchiveInterceptorsContainer process.InterceptorsContainer
	NodesCoordinator                 nodesCoordinator.NodesCoordinator
	HeaderSigVerifier                process.InterceptedHeaderSigVerifier
	HeaderIntegrityVerifier          process.HeaderIntegrityVerifier
	ValidityAttester                 process.ValidityAttester
	RoundHandler                     process.RoundHandler
	InterceptorDebugConfig           config.InterceptorResolverDebugConfig
	MaxHardCapForMissingNodes        int
	NumConcurrentTrieSyncers         int
	TrieSyncerVersion                int
	CheckNodesOnDisk                 bool
	NodeOperationMode                common.NodeOperation
}

ArgsExporter is the argument structure to create a new exporter

type ArgsNewAccountsDBSyncersContainerFactory

type ArgsNewAccountsDBSyncersContainerFactory struct {
	TrieCacher                storage.Cacher
	RequestHandler            update.RequestHandler
	ShardCoordinator          sharding.Coordinator
	Hasher                    hashing.Hasher
	Marshalizer               marshal.Marshalizer
	TrieStorageManager        common.StorageManager
	TimoutGettingTrieNode     time.Duration
	MaxTrieLevelInMemory      uint
	NumConcurrentTrieSyncers  int
	MaxHardCapForMissingNodes int
	TrieSyncerVersion         int
	CheckNodesOnDisk          bool
	AddressPubKeyConverter    core.PubkeyConverter
	EnableEpochsHandler       common.EnableEpochsHandler
}

ArgsNewAccountsDBSyncersContainerFactory defines the arguments needed to create accounts DB syncers container

type ArgsNewDataTrieFactory

type ArgsNewDataTrieFactory struct {
	StorageConfig        config.StorageConfig
	SyncFolder           string
	Marshalizer          marshal.Marshalizer
	Hasher               hashing.Hasher
	ShardCoordinator     sharding.Coordinator
	EnableEpochsHandler  common.EnableEpochsHandler
	MaxTrieLevelInMemory uint
}

ArgsNewDataTrieFactory is the argument structure for the new data trie factory

type ArgsNewFullSyncInterceptorsContainerFactory

type ArgsNewFullSyncInterceptorsContainerFactory struct {
	CoreComponents                   process.CoreComponentsHolder
	CryptoComponents                 process.CryptoComponentsHolder
	Accounts                         state.AccountsAdapter
	ShardCoordinator                 sharding.Coordinator
	NodesCoordinator                 nodesCoordinator.NodesCoordinator
	MainMessenger                    process.TopicHandler
	FullArchiveMessenger             process.TopicHandler
	Store                            dataRetriever.StorageService
	DataPool                         dataRetriever.PoolsHolder
	MaxTxNonceDeltaAllowed           int
	TxFeeHandler                     process.FeeHandler
	BlockBlackList                   process.TimeCacher
	HeaderSigVerifier                process.InterceptedHeaderSigVerifier
	HeaderIntegrityVerifier          process.HeaderIntegrityVerifier
	SizeCheckDelta                   uint32
	ValidityAttester                 process.ValidityAttester
	EpochStartTrigger                process.EpochStartTriggerHandler
	WhiteListHandler                 update.WhiteListHandler
	WhiteListerVerifiedTxs           update.WhiteListHandler
	MainInterceptorsContainer        process.InterceptorsContainer
	FullArchiveInterceptorsContainer process.InterceptorsContainer
	AntifloodHandler                 process.P2PAntifloodHandler
	NodeOperationMode                common.NodeOperation
}

ArgsNewFullSyncInterceptorsContainerFactory holds the arguments needed for fullSyncInterceptorsContainerFactory

type ArgsNewResolversContainerFactory

type ArgsNewResolversContainerFactory struct {
	ShardCoordinator           sharding.Coordinator
	MainMessenger              p2p.Messenger
	FullArchiveMessenger       p2p.Messenger
	Marshalizer                marshal.Marshalizer
	DataTrieContainer          common.TriesHolder
	ExistingResolvers          dataRetriever.ResolversContainer
	InputAntifloodHandler      dataRetriever.P2PAntifloodHandler
	OutputAntifloodHandler     dataRetriever.P2PAntifloodHandler
	NumConcurrentResolvingJobs int32
}

ArgsNewResolversContainerFactory defines the arguments for the resolversContainerFactory constructor

type ArgsRequestersContainerFactory added in v1.6.0

type ArgsRequestersContainerFactory struct {
	ShardCoordinator       sharding.Coordinator
	MainMessenger          p2p.Messenger
	FullArchiveMessenger   p2p.Messenger
	Marshaller             marshal.Marshalizer
	ExistingRequesters     dataRetriever.RequestersContainer
	OutputAntifloodHandler dataRetriever.P2PAntifloodHandler
	PeersRatingHandler     dataRetriever.PeersRatingHandler
}

ArgsRequestersContainerFactory defines the arguments for the requestersContainerFactory constructor

Jump to

Keyboard shortcuts

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