wasmtime

package
v0.9.4 Latest Latest
Warning

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

Go to latest
Published: Nov 28, 2022 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

View Source
const MaxInt = int(MaxUint >> 1)
View Source
const MaxUint = ^uint32(0)

Variables

This section is empty.

Functions

This section is empty.

Types

type ChainClient

type ChainClient struct {
	// contains filtered or unexported fields
}

type ExportFuncs

type ExportFuncs struct {
	// contains filtered or unexported fields
}

func (*ExportFuncs) CallContract

func (ef *ExportFuncs) CallContract(c *wasmtime.Caller,
	offset, size int32, vmAddrPtr, vmSizePtr int32) int32

func (*ExportFuncs) GetDB

func (ef *ExportFuncs) GetDB(c *wasmtime.Caller,
	kAddr, kSize int32, vmAddrPtr, vmSizePtr int32) int32

func (*ExportFuncs) GetData

func (ef *ExportFuncs) GetData(c *wasmtime.Caller, rid, vmAddrPtr, vmSizePtr int32) int32

func (*ExportFuncs) Log

func (ef *ExportFuncs) Log(c *wasmtime.Caller, logLevel, ptr, size int32) int32

func (*ExportFuncs) SendTX

func (ef *ExportFuncs) SendTX(c *wasmtime.Caller, offset, size int32) int32

TODO: add chainID in sendtx abi TODO: make sendTX async, and add callback if possible

func (*ExportFuncs) SetDB

func (ef *ExportFuncs) SetDB(c *wasmtime.Caller, kAddr, kSize, vAddr, vSize int32) int32

func (*ExportFuncs) SetData

func (ef *ExportFuncs) SetData(c *wasmtime.Caller, rid, addr, size int32) int32

TODO SetData if rid not exist, should be assigned by wasm?

type Instance

type Instance struct {
	// contains filtered or unexported fields
}

func NewInstanceByCode

func NewInstanceByCode(ctx context.Context, id types.SFID, code []byte) (*Instance, error)

func (*Instance) AddResource

func (i *Instance) AddResource(ctx context.Context, data []byte) uint32

func (*Instance) Get

func (i *Instance) Get(k string) int32

func (*Instance) GetResource

func (i *Instance) GetResource(id uint32) ([]byte, bool)

func (*Instance) Handle

func (i *Instance) Handle(ctx context.Context, t *Task) *wasm.EventHandleResult

func (*Instance) HandleEvent

func (i *Instance) HandleEvent(ctx context.Context, fn string, data []byte) *wasm.EventHandleResult

func (*Instance) ID

func (i *Instance) ID() string

func (*Instance) RmvResource

func (i *Instance) RmvResource(ctx context.Context, id uint32)

func (*Instance) Start

func (i *Instance) Start(ctx context.Context) error

func (*Instance) State

func (i *Instance) State() wasm.InstanceState

func (*Instance) Stop

func (i *Instance) Stop(ctx context.Context) error

type Task

type Task struct {
	EventID string
	Handler string
	Payload []byte
	Res     chan *wasm.EventHandleResult
	mq.TaskState
	// contains filtered or unexported fields
}

func NewTask

func NewTask(vm *Instance, fn string, pl []byte) *Task

func (*Task) Arg

func (t *Task) Arg() interface{}

func (*Task) Handle

func (t *Task) Handle(ctx context.Context)

func (*Task) ID

func (t *Task) ID() string

func (*Task) Subject

func (t *Task) Subject() string

func (*Task) Wait

func (t *Task) Wait(du time.Duration) *wasm.EventHandleResult

Jump to

Keyboard shortcuts

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