Documentation
¶
Index ¶
- func NewError(code ErrorCode, format string, args ...any) error
- type BaseDriver
- func (BaseDriver) CheckHeartbeat(Context) bool
- func (BaseDriver) Close(Context) error
- func (BaseDriver) Custom(_ Context, payload []byte) ([]byte, error)
- func (BaseDriver) Exec(Context, string, []Module) error
- func (BaseDriver) Init(Context, map[string]string) error
- func (BaseDriver) Process(Context, uint32, []byte) error
- func (BaseDriver) ProcessWatermark(Context, uint32, uint64) error
- func (BaseDriver) TakeCheckpoint(Context, uint64) error
- type ComplexKey
- type Context
- type Driver
- type ErrorCode
- type Iterator
- type Module
- type SDKError
- type Store
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type BaseDriver ¶
type BaseDriver struct{}
func (BaseDriver) CheckHeartbeat ¶
func (BaseDriver) CheckHeartbeat(Context) bool
func (BaseDriver) Close ¶
func (BaseDriver) Close(Context) error
func (BaseDriver) ProcessWatermark ¶
func (BaseDriver) ProcessWatermark(Context, uint32, uint64) error
func (BaseDriver) TakeCheckpoint ¶
func (BaseDriver) TakeCheckpoint(Context, uint64) error
type ComplexKey ¶
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 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.
Click to show internal directories.
Click to hide internal directories.