api

package
v0.0.0-...-f856b33 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 5, 2026 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewError

func NewError(code ErrorCode, format string, args ...any) error

NewError builds an SDKError for use by implementations.

Types

type BaseDriver

type BaseDriver struct{}

func (BaseDriver) CheckHeartbeat

func (BaseDriver) CheckHeartbeat(Context) bool

func (BaseDriver) Close

func (BaseDriver) Close(Context) error

func (BaseDriver) Custom

func (BaseDriver) Custom(_ Context, payload []byte) ([]byte, error)

func (BaseDriver) Exec

func (BaseDriver) Exec(Context, string, []Module) error

func (BaseDriver) Init

func (BaseDriver) Init(Context, map[string]string) error

func (BaseDriver) Process

func (BaseDriver) Process(Context, uint32, []byte) error

func (BaseDriver) ProcessWatermark

func (BaseDriver) ProcessWatermark(Context, uint32, uint64) error

func (BaseDriver) TakeCheckpoint

func (BaseDriver) TakeCheckpoint(Context, uint64) error

type ComplexKey

type ComplexKey struct {
	KeyGroup  []byte
	Key       []byte
	Namespace []byte
	UserKey   []byte
}

ComplexKey is a composite key for store operations.

type Context

type Context interface {
	Emit(targetID uint32, data []byte) error
	EmitWatermark(targetID uint32, watermark uint64) error
	GetOrCreateStore(name string) (Store, error)
	Config() map[string]string
	Close() error
}

Context is the runtime context exposed to Driver callbacks.

type Driver

type Driver interface {
	Init(ctx Context, config map[string]string) error
	Process(ctx Context, sourceID uint32, data []byte) error
	ProcessWatermark(ctx Context, sourceID uint32, watermark uint64) error
	TakeCheckpoint(ctx Context, checkpointID uint64) error
	CheckHeartbeat(ctx Context) bool
	Close(ctx Context) error
	Exec(ctx Context, className string, modules []Module) error
	Custom(ctx Context, payload []byte) ([]byte, error)
}

type ErrorCode

type ErrorCode string
const (
	ErrRuntimeInvalidDriver  ErrorCode = "runtime_invalid_driver"
	ErrRuntimeNotInitialized ErrorCode = "runtime_not_initialized"
	ErrRuntimeClosed         ErrorCode = "runtime_closed"
	ErrStoreInvalidName      ErrorCode = "store_invalid_name"
	ErrStoreInternal         ErrorCode = "store_internal"
	ErrStoreNotFound         ErrorCode = "store_not_found"
	ErrStoreIO               ErrorCode = "store_io"
	ErrResultUnexpected      ErrorCode = "result_unexpected"
)

type Iterator

type Iterator interface {
	HasNext() (bool, error)
	Next() (key []byte, value []byte, ok bool, err error)
	Close() error
}

Iterator iterates over key-value pairs from Store.ScanComplex.

type Module

type Module struct {
	Name  string
	Bytes []byte
}

type SDKError

type SDKError struct {
	Code    ErrorCode
	Message string
}

func (*SDKError) Error

func (e *SDKError) Error() string

type Store

type Store interface {
	PutState(key []byte, value []byte) error
	GetState(key []byte) (value []byte, found bool, err error)
	DeleteState(key []byte) error
	ListStates(startInclusive []byte, endExclusive []byte) ([][]byte, error)
	Put(key ComplexKey, value []byte) error
	Get(key ComplexKey) (value []byte, found bool, err error)
	Delete(key ComplexKey) error
	Merge(key ComplexKey, value []byte) error
	DeletePrefix(key ComplexKey) error
	ListComplex(
		keyGroup []byte,
		key []byte,
		namespace []byte,
		startInclusive []byte,
		endExclusive []byte,
	) ([][]byte, error)
	ScanComplex(keyGroup []byte, key []byte, namespace []byte) (Iterator, error)
	Close() error
}

Store provides state and key-value operations.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL