package
0.0.0-20241223090118-035fcd7fed56
Repository: https://github.com/ibiscum/hands-on-software-engineering-with-golang.git
Documentation: pkg.go.dev

# Functions

Broadcast returns a StageRunner that passes a copy of each incoming payload to all specified processors and emits their outputs to the next stage.
DynamicWorkerPool returns a StageRunner that maintains a dynamic worker pool that can scale up to maxWorkers for processing incoming inputs in parallel and emitting their outputs to the next stage.
FIFO returns a StageRunner that processes incoming payloads in a first-in first-out fashion.
FixedWorkerPool returns a StageRunner that spins up a pool containing numWorkers to process incoming payloads in parallel and emit their outputs to the next stage.
New returns a new pipeline instance where input payloads will traverse each one of the specified stages.

# Structs

Pipeline implements a modular, multi-stage pipeline.

# Interfaces

Payload is implemented by values that can be sent through a pipeline.
Processor is implemented by types that can process Payloads as part of a pipeline stage.
Sink is implemented by types that can operate as the tail of a pipeline.
Source is implemented by types that generate Payload instances which can be used as inputs to a Pipeline instance.
StageParams encapsulates the information required for executing a pipeline stage.
StageRunner is implemented by types that can be strung together to form a multi-stage pipeline.

# Type aliases

ProcessorFunc is an adapter to allow the use of plain functions as Processor instances.