12345678910111213141516171819202122232425262728293031 |
- package states
- import (
- "github.com/emqx/kuiper/xstream/api"
- )
- type StateType int
- const (
- MEMORY StateType = iota
- )
- type StateContext interface {
- IncrCounter(key string, amount int) error
- GetCounter(key string) (int, error)
- PutState(key string, value interface{}) error
- GetState(key string) (interface{}, error)
- DeleteState(key string) error
- }
- // If StateType is invalid, return a
- func NewStateContext(st StateType, logger api.Logger) StateContext {
- switch st {
- case MEMORY:
- return newMemoryState()
- default:
- logger.Warnf("request for invalid state type %d, return MemoryState instead", st)
- return newMemoryState()
- }
- return nil
- }
|