aboutsummaryrefslogtreecommitdiff
path: root/core/operator/operator.go
blob: d4bf21b54602f5961a5f45088c99e7a3dda2c9eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package operator

import (
	"context"
	"goflink/core"
)

type Emitter[OUT any] interface {
	Emit(ctx context.Context, record core.StreamRecord[OUT]) error
}

type Operator[IN, OUT any] interface {
	Open(ctx context.Context) error
	Process(ctx context.Context, record core.StreamRecord[IN], out Emitter[OUT]) error
	Close(ctx context.Context) error
}