Documentation ¶
Index ¶
- Variables
- func InitConfiguration(ctx context.Context, c Configuration) error
- func LoggerFromContext(ctx context.Context) (log.Logger, bool)
- func MustLoggerFromContext(ctx context.Context) log.Logger
- func MustRedisPrefixFromContext(ctx context.Context) string
- func MustRuntimeEventTypesFromContext(ctx context.Context) *mapx.Map[uint32, []byte]
- func MustRuntimeResourceFromContext(ctx context.Context) *mapx.Map[uint32, []byte]
- func RedisPrefixFromContext(ctx context.Context) (string, bool)
- func RuntimeEventTypesFromContext(ctx context.Context) (*mapx.Map[uint32, []byte], bool)
- func RuntimeResourceFromContext(ctx context.Context) (*mapx.Map[uint32, []byte], bool)
- func UninitConfiguration(ctx context.Context, c Configuration) error
- func WithChainClient(ctx context.Context, v *ChainClient) context.Context
- func WithChainClientContext(v *ChainClient) contextx.WithContext
- func WithEnv(ctx context.Context, v *Env) context.Context
- func WithEnvContext(v *Env) contextx.WithContext
- func WithKVStore(ctx context.Context, v KVStore) context.Context
- func WithKVStoreContext(v KVStore) contextx.WithContext
- func WithLogger(ctx context.Context, v log.Logger) context.Context
- func WithLoggerContext(v log.Logger) contextx.WithContext
- func WithMQTTClient(ctx context.Context, mq *MqttClient) context.Context
- func WithMQTTClientContext(mq *MqttClient) contextx.WithContext
- func WithRedisPrefix(ctx context.Context, v string) context.Context
- func WithRedisPrefixContext(v string) contextx.WithContext
- func WithRuntimeEventTypes(ctx context.Context, v *mapx.Map[uint32, []byte]) context.Context
- func WithRuntimeEventTypesContext(v *mapx.Map[uint32, []byte]) contextx.WithContext
- func WithRuntimeResource(ctx context.Context, v *mapx.Map[uint32, []byte]) context.Context
- func WithRuntimeResourceContext(v *mapx.Map[uint32, []byte]) contextx.WithContext
- func WithSQLStore(ctx context.Context, v *Database) context.Context
- func WithSQLStoreContext(v *Database) contextx.WithContext
- type ABI
- type Cache
- type ChainClient
- type Column
- type Configuration
- type ConfigurationWithInit
- type ConfigurationWithUninit
- type Constrains
- type ContextHandler
- type CtxChainClient
- type CtxEnv
- type CtxKVStore
- type CtxLogger
- type CtxMqttClient
- type CtxRedisPrefix
- type CtxRuntimeEventTypes
- type CtxRuntimeResource
- type CtxSQLStore
- type Database
- func (d *Database) ConfigType() enums.ConfigType
- func (d *Database) Init(ctx context.Context) (err error)
- func (d *Database) WithContext(ctx context.Context) context.Context
- func (d *Database) WithDefaultSchema() (sqlx.DBExecutor, error)
- func (d *Database) WithSchema(name string) (db sqlx.DBExecutor, err error)
- type Env
- func (env *Env) ConfigType() enums.ConfigType
- func (env *Env) Get(k string) (v string, exists bool)
- func (env *Env) Init(ctx context.Context) (err error)
- func (env *Env) Key(k string) string
- func (env *Env) Uninit(_ context.Context) error
- func (env *Env) WithContext(ctx context.Context) context.Context
- type EventConsumer
- type EventHandleResult
- type ExportsHandler
- type Handler
- type ImportsHandler
- type Instance
- type InstanceState
- type KVStore
- type Key
- type Memory
- type Module
- type MqttClient
- type ResultStatusCode
- type SQLStore
- type Schema
- type Table
- type VM
Constants ¶
This section is empty.
Variables ¶
View Source
var NameVersion = "w3bstream@v0.0.1"
Functions ¶
func InitConfiguration ¶ added in v1.1.0
func InitConfiguration(ctx context.Context, c Configuration) error
func LoggerFromContext ¶ added in v1.0.0
func MustLoggerFromContext ¶ added in v1.0.0
func MustRedisPrefixFromContext ¶ added in v1.0.0
func MustRuntimeEventTypesFromContext ¶ added in v1.1.0
func MustRuntimeResourceFromContext ¶ added in v1.0.0
func RedisPrefixFromContext ¶ added in v1.0.0
func RuntimeEventTypesFromContext ¶ added in v1.1.0
func RuntimeResourceFromContext ¶ added in v1.0.0
func UninitConfiguration ¶ added in v1.1.0
func UninitConfiguration(ctx context.Context, c Configuration) error
func WithChainClient ¶ added in v1.0.0
func WithChainClient(ctx context.Context, v *ChainClient) context.Context
func WithChainClientContext ¶ added in v1.0.0
func WithChainClientContext(v *ChainClient) contextx.WithContext
func WithEnvContext ¶ added in v1.0.0
func WithEnvContext(v *Env) contextx.WithContext
func WithKVStoreContext ¶ added in v1.0.0
func WithKVStoreContext(v KVStore) contextx.WithContext
func WithLogger ¶ added in v1.0.0
func WithLoggerContext ¶ added in v1.0.0
func WithLoggerContext(v log.Logger) contextx.WithContext
func WithMQTTClient ¶ added in v1.1.0
func WithMQTTClient(ctx context.Context, mq *MqttClient) context.Context
func WithMQTTClientContext ¶ added in v1.1.0
func WithMQTTClientContext(mq *MqttClient) contextx.WithContext
func WithRedisPrefix ¶ added in v1.0.0
func WithRedisPrefixContext ¶ added in v1.0.0
func WithRedisPrefixContext(v string) contextx.WithContext
func WithRuntimeEventTypes ¶ added in v1.1.0
func WithRuntimeEventTypesContext ¶ added in v1.1.0
func WithRuntimeResource ¶ added in v1.0.0
func WithRuntimeResourceContext ¶ added in v1.0.0
func WithSQLStore ¶ added in v1.0.0
func WithSQLStoreContext ¶ added in v1.0.0
func WithSQLStoreContext(v *Database) contextx.WithContext
Types ¶
type ABI ¶
type ABI interface { Log(loglevel, ptr, size int32) int32 GetData(rid, vmAddrPtr, vmSizePtr int32) int32 SetData(rid, addr, size int32) int32 GetDB(kAddr, kSize, vmAddrPtr, vmSizePtr int32) int32 SetDB(kAddr, kSize, vAddr, vSize int32) int32 SendTX(chainid int32, offset, size, vmAddrPtr, vmSizePtr int32) int32 CallContract(chainid int32, offset, size, vmAddrPtr, vmSizePtr int32) int32 SetSQLDB(addr, size int32) int32 GetSQLDB(addr, size, vmAddrPtr, vmSizePtr int32) int32 GetEnv(kAddr, kSize, vmAddrPtr, vmSizePtr int32) int32 SendMqttMsg(topicAddr, topicSize, msgAddr, msgSize int32) int32 }
type Cache ¶ added in v1.0.0
func DefaultCache ¶ added in v1.0.0
func DefaultCache() *Cache
func (*Cache) ConfigType ¶ added in v1.0.0
func (c *Cache) ConfigType() enums.ConfigType
func (*Cache) NewKVStore ¶ added in v1.0.0
TODO use KVStore as a member and impl Cache.Init
type ChainClient ¶ added in v1.0.0
type ChainClient struct {
// contains filtered or unexported fields
}
func ChainClientFromContext ¶ added in v1.0.0
func ChainClientFromContext(ctx context.Context) (*ChainClient, bool)
func MustChainClientFromContext ¶ added in v1.0.0
func MustChainClientFromContext(ctx context.Context) *ChainClient
func NewChainClient ¶ added in v1.0.0
func NewChainClient(ctx context.Context, pvk *string) *ChainClient
func (*ChainClient) CallContract ¶ added in v1.0.0
func (c *ChainClient) CallContract(chainID uint32, toStr, dataStr string) ([]byte, error)
type Column ¶ added in v1.1.0
type Column struct { // Name column name Name string `json:"name"` // Constrains column constrains Constrains Constrains `json:"constrains"` }
type Configuration ¶ added in v1.0.0
type Configuration interface { ConfigType() enums.ConfigType WithContext(context.Context) context.Context }
func NewConfigurationByType ¶ added in v1.0.0
func NewConfigurationByType(t enums.ConfigType) (Configuration, error)
type ConfigurationWithInit ¶ added in v1.1.0
type ConfigurationWithInit interface { Configuration types.ValidatedInitializerWith }
ConfigurationWithInit support recursive initialize
type ConfigurationWithUninit ¶ added in v1.1.0
type ConfigurationWithUninit interface { Configuration Uninit(context.Context) error }
ConfigurationWithUninit support recursive uninitialize
type Constrains ¶ added in v1.1.0
type Constrains struct { Datatype enums.WasmDBDatatype `json:"datatype"` Length uint64 `json:"length,omitempty"` Decimal uint64 `json:"decimal,omitempty"` Default *string `json:"default,omitempty"` Null bool `json:"null,omitempty"` AutoIncrement bool `json:"autoincrement,omitempty"` Desc string `json:"desc,omitempty"` }
type ContextHandler ¶
type ContextHandler interface { Name() string GetImports() ImportsHandler SetImports(ImportsHandler) GetExports() ExportsHandler GetInstance() Instance SetInstance(Instance) }
type CtxChainClient ¶ added in v1.0.0
type CtxChainClient struct{}
type CtxKVStore ¶ added in v1.0.0
type CtxKVStore struct{}
type CtxMqttClient ¶ added in v1.1.0
type CtxMqttClient struct{}
type CtxRedisPrefix ¶ added in v1.0.0
type CtxRedisPrefix struct{}
type CtxRuntimeEventTypes ¶ added in v1.1.0
type CtxRuntimeEventTypes struct{}
type CtxRuntimeResource ¶ added in v1.0.0
type CtxRuntimeResource struct{}
type CtxSQLStore ¶ added in v1.0.0
type CtxSQLStore struct{}
type Database ¶ added in v1.1.0
type Database struct { // Name: database name, currently this should be assigned by host; if the // database resource can be assigned by project, then open this field. Name string `json:"-"` // Dialect database dialect, support postgres only now Dialect enums.WasmDBDialect `json:"dialect,omitempty,default=''"` // Schemas schema list Schemas []*Schema `json:"schemas,omitempty"` // contains filtered or unexported fields }
func MustSQLStoreFromContext ¶ added in v1.0.0
func NewDatabase ¶ added in v1.1.0
func SQLStoreFromContext ¶ added in v1.0.0
func (*Database) ConfigType ¶ added in v1.1.0
func (d *Database) ConfigType() enums.ConfigType
func (*Database) WithContext ¶ added in v1.1.0
func (*Database) WithDefaultSchema ¶ added in v1.1.0
func (d *Database) WithDefaultSchema() (sqlx.DBExecutor, error)
func (*Database) WithSchema ¶ added in v1.1.0
func (d *Database) WithSchema(name string) (db sqlx.DBExecutor, err error)
type Env ¶ added in v1.0.0
type Env struct { Env [][2]string `json:"env"` // contains filtered or unexported fields }
func MustEnvFromContext ¶ added in v1.0.0
func (*Env) ConfigType ¶ added in v1.0.0
func (env *Env) ConfigType() enums.ConfigType
type EventConsumer ¶
type EventConsumer interface {
HandleEvent(ctx context.Context, handler, eventType string, payload []byte) *EventHandleResult
}
type EventHandleResult ¶
type EventHandleResult struct { InstanceID string `json:"instanceID"` Rsp []byte `json:"-"` Code ResultStatusCode `json:"code"` ErrMsg string `json:"errMsg"` }
type ExportsHandler ¶
type ExportsHandler interface { Start() Alloc() Free() }
type ImportsHandler ¶
type Instance ¶
type Instance interface { ID() string Start(context.Context) error Stop(context.Context) error State() enums.InstanceState EventConsumer }
type InstanceState ¶
type InstanceState = enums.InstanceState
type KVStore ¶
func KVStoreFromContext ¶ added in v1.0.0
func MustKVStoreFromContext ¶ added in v1.0.0
type Key ¶ added in v1.1.0
type MqttClient ¶ added in v1.1.0
func DefaultMQClient ¶ added in v1.1.0
func DefaultMQClient() *MqttClient
func MQTTClientFromContext ¶ added in v1.1.0
func MQTTClientFromContext(ctx context.Context) (*MqttClient, bool)
func MustMQTTClientFromContext ¶ added in v1.1.0
func MustMQTTClientFromContext(ctx context.Context) *MqttClient
func (*MqttClient) ConfigType ¶ added in v1.1.0
func (m *MqttClient) ConfigType() enums.ConfigType
func (*MqttClient) WithContext ¶ added in v1.1.0
func (m *MqttClient) WithContext(ctx context.Context) context.Context
type ResultStatusCode ¶
type ResultStatusCode int32
ResultStatusCode wasm call result code
const ( ResultStatusCode_OK ResultStatusCode = iota ResultStatusCode_UnexportedHandler ResultStatusCode_ResourceNotFound ResultStatusCode_ImportNotFound ResultStatusCode_ImportCallFailed ResultStatusCode_TransDataToVMFailed ResultStatusCode_TransDataFromVMFailed ResultStatusCode_HostInternal ResultStatusCode_EnvKeyNotFound ResultStatusCode_NoDBContext // TODO following result status ResultStatusCode_Failed = -1 // reserved for wasm invoke failed )
type SQLStore ¶ added in v1.0.0
type SQLStore interface { sqlx.SqlExecutor }
Source Files ¶
Click to show internal directories.
Click to hide internal directories.