factories

package
v0.26.18 Latest Latest
Warning

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

Go to latest
Published: Aug 11, 2022 License: AGPL-3.0 Imports: 33 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BuilderFactory

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

func NewBuilderFactory

func NewBuilderFactory(
	db *badger.DB,
	mainChainHeaders storage.Headers,
	trace module.Tracer,
	metrics module.CollectionMetrics,
	pusher network.Engine,
	log zerolog.Logger,
	opts ...builder.Opt,
) (*BuilderFactory, error)

func (*BuilderFactory) Create

func (f *BuilderFactory) Create(
	clusterHeaders storage.Headers,
	clusterPayloads storage.ClusterPayloads,
	pool mempool.Transactions,
) (module.Builder, *finalizer.Finalizer, error)

type ClusterStateFactory

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

func NewClusterStateFactory

func NewClusterStateFactory(
	db *badger.DB,
	metrics module.CacheMetrics,
	tracer module.Tracer,
) (*ClusterStateFactory, error)

type EpochComponentsFactory

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

func NewEpochComponentsFactory

func NewEpochComponentsFactory(
	me module.Local,
	pools *epochs.TransactionPools,
	builder *BuilderFactory,
	state *ClusterStateFactory,
	hotstuff *HotStuffFactory,
	proposal *ProposalEngineFactory,
	sync *SyncEngineFactory,
) *EpochComponentsFactory

func (*EpochComponentsFactory) Create

func (factory *EpochComponentsFactory) Create(
	epoch protocol.Epoch,
) (
	state cluster.State,
	proposal network.Engine,
	sync network.Engine,
	hotstuff module.HotStuff,
	voteAggregator hotstuff.VoteAggregator,
	err error,
)

type HotStuffFactory

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

func NewHotStuffFactory

func NewHotStuffFactory(
	log zerolog.Logger,
	me module.Local,
	db *badger.DB,
	protoState protocol.State,
	createMetrics HotStuffMetricsFunc,
	opts ...consensus.Option,
) (*HotStuffFactory, error)

func (*HotStuffFactory) Create

func (f *HotStuffFactory) Create(
	clusterState cluster.State,
	metrics module.HotstuffMetrics,
	builder module.Builder,
	headers storage.Headers,
	communicator hotstuff.Communicator,
	hotstuffModules *consensus.HotstuffModules,
) (module.HotStuff, error)

func (*HotStuffFactory) CreateModules added in v0.23.9

func (f *HotStuffFactory) CreateModules(
	epoch protocol.Epoch,
	cluster protocol.Cluster,
	clusterState cluster.State,
	headers storage.Headers,
	payloads storage.ClusterPayloads,
	updater module.Finalizer,
) (*consensus.HotstuffModules, module.HotstuffMetrics, error)

type HotStuffMetricsFunc added in v0.20.0

type HotStuffMetricsFunc func(chainID flow.ChainID) module.HotstuffMetrics

type ProposalEngineFactory

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

func NewProposalEngineFactory

func NewProposalEngineFactory(
	log zerolog.Logger,
	net network.Network,
	me module.Local,
	colMetrics module.CollectionMetrics,
	engMetrics module.EngineMetrics,
	mempoolMetrics module.MempoolMetrics,
	protoState protocol.State,
	transactions storage.Transactions,
	complianceOpts ...modulecompliance.Opt,
) (*ProposalEngineFactory, error)

NewFactory returns a new collection proposal engine factory.

func (*ProposalEngineFactory) Create

func (f *ProposalEngineFactory) Create(
	clusterState cluster.MutableState,
	headers storage.Headers,
	payloads storage.ClusterPayloads,
	voteAggregator hotstuff.VoteAggregator,
) (*compliance.Engine, error)

type SyncEngineFactory

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

func NewSyncEngineFactory

func NewSyncEngineFactory(
	log zerolog.Logger,
	metrics module.EngineMetrics,
	net network.Network,
	me module.Local,
	conf chainsync.Config,
) (*SyncEngineFactory, error)

func (*SyncEngineFactory) Create

func (f *SyncEngineFactory) Create(
	participants flow.IdentityList,
	state cluster.State,
	blocks storage.ClusterBlocks,
	comp network.Engine,
) (*chainsync.Core, *syncengine.Engine, error)

Jump to

Keyboard shortcuts

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