collection

package
v0.32.2 Latest Latest
Warning

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

Go to latest
Published: Oct 19, 2023 License: AGPL-3.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ClusterEvents added in v0.31.0

type ClusterEvents interface {
	// ActiveClustersChanged is called when a new cluster ID update event is distributed.
	// Any error encountered on consuming event must handle internally by the implementation.
	// The implementation must be concurrency safe, but can be blocking.
	ActiveClustersChanged(flow.ChainIDList)
}

ClusterEvents defines methods used to disseminate cluster ID update events. Cluster IDs are updated when a new set of epoch components start and the old set of epoch components stops. A new list of cluster IDs will be assigned when the new set of epoch components are started, and the old set of cluster IDs are removed when the current set of epoch components are stopped. The implementation must be concurrency safe and non-blocking.

type Compliance

type Compliance interface {
	component.Component

	// OnClusterBlockProposal feeds a new block proposal into the processing pipeline.
	// Incoming proposals will be queued and eventually dispatched by worker.
	// This method is non-blocking.
	OnClusterBlockProposal(proposal flow.Slashable[*messages.ClusterBlockProposal])
	// OnSyncedClusterBlock feeds a block obtained from sync proposal into the processing pipeline.
	// Incoming proposals will be queued and eventually dispatched by worker.
	// This method is non-blocking.
	OnSyncedClusterBlock(block flow.Slashable[*messages.ClusterBlockProposal])
}

Compliance defines the interface to the cluster consensus logic that precedes hotstuff logic. It's responsible for processing incoming block proposals broadcast by other cluster consensus participants as well as blocks obtained via the chain sync protocol. Compliance logic performs validation of incoming blocks by checking headers and payloads. Compliance logic guarantees that only valid blocks are added to chain state, passed to hotstuff and other components. Implementation need to be non-blocking and concurrency safe.

type EngineEvents added in v0.31.0

type EngineEvents interface {
	ClusterEvents
}

EngineEvents set of methods used to distribute and consume events related to collection node engine components.

Directories

Path Synopsis
Package ingest implements an engine for receiving transactions that need to be packaged into a collection.
Package ingest implements an engine for receiving transactions that need to be packaged into a collection.
Package pusher implements an engine for providing access to resources held by the collection node, including collections, collection guarantees, and transactions.
Package pusher implements an engine for providing access to resources held by the collection node, including collections, collection guarantees, and transactions.
rpc
Package rpc implements accepting transactions into the system.
Package rpc implements accepting transactions into the system.

Jump to

Keyboard shortcuts

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