Documentation
¶
Overview ¶
Package streams specifies interfaces to be implemented by the streaming connectors and operators.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Flow ¶
type Flow interface {
Inlet
Outlet
// Via asynchronously streams data from the Flow's Outlet to the given Flow.
// It should return a new Flow that represents the combined pipeline.
Via(Flow) Flow
// To streams data from the Flow's Outlet to the given Sink, and should block
// until the Sink has completed processing all data, which can be verified
// via the Sink's AwaitCompletion method.
To(Sink)
}
Flow represents a set of stream processing steps that has one open input and one open output. Programs can combine multiple Flows into sophisticated dataflow topologies. Implement this interface to create a custom stream transformation operator.
type Inlet ¶
type Inlet interface {
// In returns the input channel for the Inlet.
// Data sent to this channel will be consumed by the component that implements
// this interface. This channel should be closed by the upstream component
// when no more input is expected.
In() chan<- any
}
Inlet represents a type that exposes one open input.
type Outlet ¶
type Outlet interface {
// Out returns the output channel for the Outlet.
// Data sent to this channel can be consumed by another component further
// in the processing pipeline. This channel should be closed by the implementing
// component when upstream processing has been completed.
Out() <-chan any
}
Outlet represents a type that exposes one open output.
type Sink ¶
type Sink interface {
Inlet
// AwaitCompletion should block until the Sink has completed processing
// all data received through its Inlet and has finished any necessary
// finalization or cleanup tasks.
// This method is intended for internal use by the pipeline when the
// input stream is closed by the upstream.
AwaitCompletion()
}
Sink represents a set of stream processing steps that has one open input. A Sink will usually connect to a database or streaming platform to flush data from a pipeline. Implement this interface to create a custom sink connector.
type Source ¶
type Source interface {
Outlet
// Via asynchronously streams data from the Source's Outlet to the given Flow.
// It should return a new Flow that represents the combined pipeline.
Via(Flow) Flow
}
Source represents a set of stream processing steps that has one open output. A Source will usually connect to a database or streaming platform to produce a stream of events/records. Implement this interface to create a custom source connector.
Directories
¶
| Path | Synopsis |
|---|---|
|
aerospike
module
|
|
|
aws
module
|
|
|
azure
module
|
|
|
examples
module
|
|
|
Package extension provides basic connector implementations.
|
Package extension provides basic connector implementations. |
|
Package flow provides streams.Flow implementations.
|
Package flow provides streams.Flow implementations. |
|
gcp
module
|
|
|
internal
|
|
|
ospkg
Package ospkg provides platform-specific utility functions and constants.
|
Package ospkg provides platform-specific utility functions and constants. |
|
kafka
module
|
|
|
nats
module
|
|
|
pulsar
module
|
|
|
redis
module
|
|
|
websocket
module
|
|
|
ws
module
|
