elasticstream/source/interface.go

23 lines
387 B
Go

package source
import (
"context"
"elasticstream/config"
"elasticstream/opencdc"
)
type Position struct {
ID string
Index string
Pos int
}
type Source interface {
Configure(context.Context, config.Config) error
Open(context.Context, []Position) error
Read(context.Context) (*opencdc.Data, error)
Ack(context.Context, Position) error
Teardown(context.Context) error
}