conduit

package
v1.6.0 Latest Latest
Warning

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

Go to latest
Published: Jan 2, 2024 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Completed

type Completed interface {
	// OnComplete is called by the Conduit framework when the pipeline
	// finishes processing a round. It will not be invoked unless all plugins
	// have successfully processed the given round.
	OnComplete(input data.BlockData) error
}

Completed is an optional interface. Plugins should implement it if they care to be notified after a round has been fully processed. It can be used for things like finalizing state.

type OnCompleteFunc

type OnCompleteFunc func(input data.BlockData) error

OnCompleteFunc is the signature for the Completed interface.

type PipelineInitProvider

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

PipelineInitProvider algod based init provider

func MakePipelineInitProvider

func MakePipelineInitProvider(currentRound *sdk.Round, genesis *sdk.Genesis, client telemetry.Client) *PipelineInitProvider

MakePipelineInitProvider constructs an init provider.

func (*PipelineInitProvider) GetGenesis

func (a *PipelineInitProvider) GetGenesis() *sdk.Genesis

GetGenesis produces genesis pointer

func (*PipelineInitProvider) GetTelemetryClient added in v1.2.0

func (a *PipelineInitProvider) GetTelemetryClient() telemetry.Client

GetTelemetryClient gets the telemetry state in the init provider

func (*PipelineInitProvider) NextDBRound

func (a *PipelineInitProvider) NextDBRound() sdk.Round

NextDBRound provides next database round

func (*PipelineInitProvider) SetGenesis added in v1.1.0

func (a *PipelineInitProvider) SetGenesis(genesis *sdk.Genesis)

SetGenesis updates the genesis block in the init provider

type PluginMetrics

type PluginMetrics interface {
	// ProvideMetrics is called by the Conduit framework after the `Init`
	// phase, and before the pipeline starts. The metric collectors are
	// provided to the metrics endpoint which is optionally enabled in the
	// Conduit configuration file.
	ProvideMetrics(subsystem string) []prometheus.Collector
}

PluginMetrics is an optional interface. Plugins should implement it if they have custom metrics which should be registered.

type ProvideMetricsFunc

type ProvideMetricsFunc func() []prometheus.Collector

ProvideMetricsFunc is the signature for the PluginMetrics interface.

type RoundRequestor added in v1.1.0

type RoundRequestor interface {
	// RoundRequest is called by the Conduit framework prior to `Init`.
	// This allows plugins with specific round requirements to override
	// the automatic round tracking provided by the Conduit pipeline.
	//
	// There are a few cases where this can be problematic. In these cases
	// an error will be generated and Conduit will fail to launch:
	// 1. Conduit is launched with --next-round-override
	// 2. Multiple plugins request a round override and the requested
	//    rounds are different.
	//
	// If it becomes common for multiple round overrides to be provided,
	// we will add an option to select which override to use. For example,
	// the override rule could be "command-line", "oldest", or the name
	// of a plugin which should be preferred.
	RoundRequest(config plugins.PluginConfig) (uint64, error)
}

RoundRequestor is an optional interface. Plugins should implement it if they would like to request an override to the pipeline managed round.

Jump to

Keyboard shortcuts

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