stage

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2023 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Enabler added in v0.6.0

type Enabler interface {
	Enabled() bool
}

Enabler is an optional interface that tells whether a node is enabled. If the node config implements it and Enabled() is false, the node won't be added to the graph. This is useful for non-nillable configurations that need to be disabled if e.g. a property is missing. IMPORTANT: The method needs to be implemented by using a value as receiver.

type Instance

type Instance string

Instance can be embedded into any stage configuration to be instantiable (convenience implementation for the required Instancer interface)

func (Instance) ID

func (f Instance) ID() string

type Instancer

type Instancer interface {
	ID() string
}

Instancer is the interface required by any stage configuration type that is instantiated from the builder.ApplyConfig method.

type MiddleDemuxProvider added in v0.9.0

type MiddleDemuxProvider[CFG, I any] func(CFG) (node.MiddleDemuxFunc[I], error)

MiddleDemuxProvider is a function that, given a configuration argument of a unique type, returns a function fulfilling the node.MiddleDemuxFunc type signature. Returned functions will run inside a Graph Middle Node. If it returns an error, the graph building process will be interrupted. The configuration type must either implement the stage.Instancer interface or the configuration struct containing it must define a `nodeId` tag with an identifier for that stage.

type MiddleProvider

type MiddleProvider[CFG, I, O any] func(CFG) (node.MiddleFunc[I, O], error)

MiddleProvider is a function that, given a configuration argument of a unique type, returns a function fulfilling the node.MiddleFunc type signature. Returned functions will run inside a Graph Middle Node. If it returns an error, the graph building process will be interrupted. The configuration type must either implement the stage.Instancer interface or the configuration struct containing it must define a `nodeId` tag with an identifier for that stage.

type StartDemuxProvider added in v0.9.0

type StartDemuxProvider[CFG any] func(CFG) (node.StartDemuxFunc, error)

StartDemuxProvider is a function that, given a configuration argument of a unique type, returns a function fulfilling the node.StartFuncDemux type signature. Returned function will run inside a Graph Start Node If it returns an error, the graph building process will be interrupted. The configuration type must either implement the stage.Instancer interface or the configuration struct containing it must define a `nodeId` tag with an identifier for that stage.

type StartMultiProvider added in v0.6.0

type StartMultiProvider[CFG, O any] func(CFG) ([]node.StartFunc[O], error)

StartMultiProvider is similar to StarProvider, but it is able to associate a variadic number of functions that will behave as a single node.

type StartProvider

type StartProvider[CFG, O any] func(CFG) (node.StartFunc[O], error)

StartProvider is a function that, given a configuration argument of a unique type, returns a function fulfilling the node.StartFunc type signature. Returned function will run inside a Graph Start Node If it returns an error, the graph building process will be interrupted. The configuration type must either implement the stage.Instancer interface or the configuration struct containing it must define a `nodeId` tag with an identifier for that stage.

type TerminalProvider

type TerminalProvider[CFG, I any] func(CFG) (node.TerminalFunc[I], error)

TerminalProvider is a function that, given a configuration argument of a unique type, returns a function fulfilling the node.TerminalFunc type signature. Returned functions will run inside a Graph Terminal Node. If it returns an error, the graph building process will be interrupted. The configuration type must either implement the stage.Instancer interface or the configuration struct containing it must define a `nodeId` tag with an identifier for that stage.

Jump to

Keyboard shortcuts

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