Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var (
DROP = fmt.Sprintf("%U__DROP__", '\\') // U+005C__DROP__
)
Functions ¶
func NewServer ¶
func NewServer(r ReduceStreamerCreator, inputOptions ...Option) numaflow.Server
NewServer creates a new reduceStream server.
Types ¶
type Datum ¶
type Datum interface { // Value returns the payload of the message. Value() []byte // EventTime returns the event time of the message. EventTime() time.Time // Watermark returns the watermark of the message. Watermark() time.Time // Headers returns the headers of the message. Headers() map[string]string }
Datum contains methods to get the payload information.
type IntervalWindow ¶
IntervalWindow contains methods to get the information for a given interval window.
func NewIntervalWindow ¶
func NewIntervalWindow(startTime time.Time, endTime time.Time) IntervalWindow
type Message ¶
type Message struct {
// contains filtered or unexported fields
}
Message is used to wrap the data return by reduceStream function
type Metadata ¶
type Metadata interface {
IntervalWindow() IntervalWindow
}
Metadata contains methods to get the metadata for the reduceStream operation.
func NewMetadata ¶
func NewMetadata(window IntervalWindow) Metadata
type Option ¶
type Option func(*options)
Option is the interface to apply options.
func WithMaxMessageSize ¶
WithMaxMessageSize sets the server max receive message size and the server max send message size to the given size.
func WithServerInfoFilePath ¶
WithServerInfoFilePath sets the server info file path to the given path.
func WithSockAddr ¶
WithSockAddr start the server with the given sock addr. This is mainly used for testing purposes.
type ReduceStreamer ¶
type ReduceStreamer interface {
ReduceStream(ctx context.Context, keys []string, inputCh <-chan Datum, outputCh chan<- Message, md Metadata)
}
ReduceStreamer is the interface of reduceStream function implementation.
type ReduceStreamerCreator ¶
type ReduceStreamerCreator interface { // Create creates a ReduceStreamer, will be invoked once for every keyed window. Create() ReduceStreamer }
ReduceStreamerCreator is the interface which is used to create a ReduceStreamer.
func SimpleCreatorWithReduceStreamFn ¶
func SimpleCreatorWithReduceStreamFn(f func(ctx context.Context, keys []string, inputCh <-chan Datum, outputCh chan<- Message, md Metadata)) ReduceStreamerCreator
SimpleCreatorWithReduceStreamFn creates a simple ReduceStreamerCreator for the given reduceStream function.
type Service ¶
type Service struct { reducepb.UnimplementedReduceServer // contains filtered or unexported fields }
Service implements the proto gen server interface and contains the reduceStream operation handler.