Documentation ¶
Index ¶
- Variables
- func CustomMetricsFromContext(ctx context.Context) (metrics.CustomMetrics, bool)
- func InitConfiguration(parent context.Context, c Configuration) error
- func InitGlobalConfiguration(parent context.Context, c GlobalConfiguration) error
- func LoggerFromContext(ctx context.Context) (log.Logger, bool)
- func MQTTClientFromContext(ctx context.Context) (*mqtt.Client, bool)
- func MustCustomMetricsFromContext(ctx context.Context) metrics.CustomMetrics
- func MustLoggerFromContext(ctx context.Context) log.Logger
- func MustMQTTClientFromContext(ctx context.Context) *mqtt.Client
- 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(parent context.Context, c Configuration) error
- func WithChainClient(ctx context.Context, v *ChainClient) context.Context
- func WithChainClientContext(v *ChainClient) contextx.WithContext
- func WithCustomMetrics(ctx context.Context, mt metrics.CustomMetrics) context.Context
- func WithCustomMetricsContext(mt metrics.CustomMetrics) contextx.WithContext
- func WithEnv(ctx context.Context, v *Env) context.Context
- func WithEnvContext(v *Env) contextx.WithContext
- func WithFlow(ctx context.Context, flow *Flow) context.Context
- func WithFlowContext(flow *Flow) 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 *mqtt.Client) context.Context
- func WithMQTTClientContext(mq *mqtt.Client) 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 ApiServer
- type CBInfo
- type Cache
- type CanBeInit
- type CanBeUninit
- type ChainClient
- func (c *ChainClient) CallContract(conf *wsTypes.ChainConfig, chainID uint64, chainName enums.ChainName, ...) ([]byte, error)
- func (c *ChainClient) GlobalConfigType() ConfigType
- func (c *ChainClient) Init(parent context.Context) error
- func (c *ChainClient) SendTX(conf *wsTypes.ChainConfig, chainID uint64, chainName enums.ChainName, ...) (string, error)
- func (c *ChainClient) SendTXWithOperator(conf *wsTypes.ChainConfig, chainID uint64, chainName enums.ChainName, ...) (*SendTxResp, error)
- func (c *ChainClient) WithContext(ctx context.Context) context.Context
- type Column
- type ConfigType
- type Configuration
- type Constrains
- type ContextHandler
- type CtxChainClient
- type CtxCustomMetrics
- type CtxEnv
- type CtxFlow
- type CtxKVStore
- type CtxLogger
- type CtxMqttClient
- type CtxRedisPrefix
- type CtxRuntimeEventTypes
- type CtxRuntimeResource
- type CtxSQLStore
- type DBInfo
- type Database
- func (d *Database) ConfigType() enums.ConfigType
- func (d *Database) Init(parent 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(parent 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 EthClient
- type EventConsumer
- type EventHandleResult
- type ExportsHandler
- type Flow
- type GlobalConfiguration
- type Handler
- type ImportsHandler
- type Instance
- type InstanceState
- type KVStore
- type Key
- type Logger
- type Memory
- type Module
- type MqttClient
- type Operator
- type PrivateKey
- type ResultStatusCode
- type SQLStore
- type Schema
- type SendTxResp
- type Sink
- type SinkInfo
- type Source
- type Table
- type VM
Constants ¶
This section is empty.
Variables ¶
View Source
var ConfigTypes = []ConfigType{ ConfigLogger, ConfigMqttClient, ConfigChains, ConfigMetrics, }
View Source
var NameVersion = "w3bstream@v0.0.1"
Functions ¶
func CustomMetricsFromContext ¶ added in v1.1.0
func CustomMetricsFromContext(ctx context.Context) (metrics.CustomMetrics, bool)
func InitConfiguration ¶ added in v1.1.0
func InitConfiguration(parent context.Context, c Configuration) error
func InitGlobalConfiguration ¶ added in v1.4.6
func InitGlobalConfiguration(parent context.Context, c GlobalConfiguration) error
func LoggerFromContext ¶ added in v1.0.0
func MQTTClientFromContext ¶ added in v1.1.0
func MustCustomMetricsFromContext ¶ added in v1.1.0
func MustCustomMetricsFromContext(ctx context.Context) metrics.CustomMetrics
func MustLoggerFromContext ¶ added in v1.0.0
func MustMQTTClientFromContext ¶ added in v1.1.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(parent 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 WithCustomMetrics ¶ added in v1.1.0
func WithCustomMetricsContext ¶ added in v1.1.0
func WithCustomMetricsContext(mt metrics.CustomMetrics) contextx.WithContext
func WithEnvContext ¶ added in v1.0.0
func WithEnvContext(v *Env) contextx.WithContext
func WithFlowContext ¶ added in v1.4.6
func WithFlowContext(flow *Flow) 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 WithMQTTClientContext ¶ added in v1.1.0
func WithMQTTClientContext(mq *mqtt.Client) 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
type Cache struct { Mode enums.CacheMode `json:"mode"` Prefix string `json:"prefix,omitempty"` // contains filtered or unexported fields }
func DefaultCache ¶ added in v1.0.0
func DefaultCache() *Cache
func (*Cache) ConfigType ¶ added in v1.0.0
func (c *Cache) ConfigType() enums.ConfigType
type CanBeUninit ¶ added in v1.4.6
type ChainClient ¶ added in v1.0.0
type ChainClient struct { ProjectName string Operators map[string]*PrivateKey }
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, prj *models.Project, ops []models.Operator, op *models.ProjectOperator) *ChainClient
func (*ChainClient) CallContract ¶ added in v1.0.0
func (c *ChainClient) CallContract(conf *wsTypes.ChainConfig, chainID uint64, chainName enums.ChainName, toStr, dataStr string) ([]byte, error)
func (*ChainClient) GlobalConfigType ¶ added in v1.4.6
func (c *ChainClient) GlobalConfigType() ConfigType
func (*ChainClient) SendTXWithOperator ¶ added in v1.1.0
func (c *ChainClient) SendTXWithOperator(conf *wsTypes.ChainConfig, chainID uint64, chainName enums.ChainName, toStr, valueStr, dataStr, operatorName string, opPool optypes.Pool, prj *models.Project) (*SendTxResp, error)
func (*ChainClient) WithContext ¶ added in v1.4.6
func (c *ChainClient) WithContext(ctx context.Context) context.Context
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 ConfigType ¶ added in v1.4.6
type ConfigType string
const ( ConfigLogger ConfigType = "LOGGER" ConfigMqttClient ConfigType = "MQTT_CLIENT" ConfigChains ConfigType = "CHAINS" ConfigMetrics ConfigType = "METRICS" )
type Configuration ¶ added in v1.0.0
type Configuration interface { ConfigType() enums.ConfigType WithContext(context.Context) context.Context }
func NewUserConfigurationByType ¶ added in v1.4.6
func NewUserConfigurationByType(t enums.ConfigType) (Configuration, error)
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 CtxCustomMetrics ¶ added in v1.1.0
type CtxCustomMetrics 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 EthClient ¶ added in v1.6.1
type EthClient interface { TransactionByHash(ctx context.Context, hash string) (any, error) TransactionState(ctx context.Context, hash string) (enums.TransactionState, error) SendTransaction(ctx context.Context, toStr, valueStr, dataStr string, op *optypes.SyncOperator) (*ethtypes.Transaction, error) }
TODO: move to a more appropriate place
func NewEthClient ¶ added in v1.6.1
NewEthClient creates a new EthClient according to the chain type
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 Flow ¶ added in v1.4.6
type Flow struct { Source Source `json:"source"` Operators []Operator `json:"operators"` Sink Sink `json:"sink"` }
func MustFlowFromContext ¶ added in v1.4.6
func (*Flow) ConfigType ¶ added in v1.4.6
func (f *Flow) ConfigType() enums.ConfigType
type GlobalConfiguration ¶ added in v1.4.6
type GlobalConfiguration interface { GlobalConfigType() ConfigType WithContext(context.Context) context.Context }
func NewGlobalConfigurationByType ¶ added in v1.4.6
func NewGlobalConfigurationByType(t ConfigType) (GlobalConfiguration, error)
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 Logger ¶ added in v1.4.6
type Logger struct {
// contains filtered or unexported fields
}
func (*Logger) GlobalConfigType ¶ added in v1.4.6
func (l *Logger) GlobalConfigType() ConfigType
type MqttClient ¶ added in v1.1.0
type MqttClient struct {
// contains filtered or unexported fields
}
func (*MqttClient) GlobalConfigType ¶ added in v1.4.6
func (m *MqttClient) GlobalConfigType() ConfigType
func (*MqttClient) WithContext ¶ added in v1.1.0
func (m *MqttClient) WithContext(ctx context.Context) context.Context
type Operator ¶ added in v1.4.6
type Operator struct { OpType enums.FlowOperator `json:"opType"` WasmFunc string `json:"wasmFunc,omitempty"` Parallel int `json:"parallel,omitempty"` }
type PrivateKey ¶ added in v1.5.3
type PrivateKey struct { Type enums.OperatorKeyType Ecdsa []byte Ed25519 ed25519.PrivateKey }
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 ResultStatusCode_ParamIllegal // TODO following result status ResultStatusCode_Failed = -1 // reserved for wasm invoke failed )
type SQLStore ¶ added in v1.0.0
type SQLStore interface { sqlx.SqlExecutor }
type SendTxResp ¶ added in v1.5.9
type Sink ¶ added in v1.4.6
func (*Sink) UnmarshalJSON ¶ added in v1.4.6
Source Files ¶
Click to show internal directories.
Click to hide internal directories.