Documentation
¶
Index ¶
- type Heap
- func (h *Heap) Clear() error
- func (h *Heap) ReadBytes(ptr int32, length int32) []byte
- func (h *Heap) ReadString(ptr int32, length int32) string
- func (h *Heap) Write(bytes []byte, from string) (int32, error)
- func (h *Heap) WriteAndTrack(bytes []byte, track bool, from string) (int32, error)
- func (h *Heap) WriteAtPtr(bytes []byte, ptr int32, from string) (int32, error)
- type Input
- type InputType
- type Instance
- func (i *Instance) Err() error
- func (i *Instance) Execute() (err error)
- func (i *Instance) ExecuteWithArgs(args ...interface{}) (err error)
- func (i *Instance) Output() []byte
- func (i *Instance) PushExecutionStack(event string)
- func (i *Instance) ReachedLogsMaxByteCount() bool
- func (i *Instance) SetOutputStore(store *state.Store)
- func (i *Instance) WriteOutputToHeap(outputPtr int32, value []byte, from string) error
- type Module
- type PanicError
- type Runtime
- type WASMExtension
- type WASMExtensioner
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Heap ¶
type Heap struct {
// contains filtered or unexported fields
}
func (*Heap) WriteAndTrack ¶ added in v0.0.19
type Input ¶
type Input struct {
Type InputType
Name string
// Transient data between calls
StreamData []byte
// InputType == InputStore || OutputStore
Store *state.Store
Deltas bool // whether we want to have the Deltas instead of an access to the store
// If InputType == OutputStore
UpdatePolicy pbsubstreams.Module_KindStore_UpdatePolicy
ValueType string
}
type Instance ¶
type Instance struct {
Logs []string
LogsByteCount uint64
ExecutionStack []string
Module *Module
// contains filtered or unexported fields
}
func (*Instance) ExecuteWithArgs ¶
func (*Instance) PushExecutionStack ¶ added in v0.0.19
func (*Instance) ReachedLogsMaxByteCount ¶
func (*Instance) SetOutputStore ¶
type Module ¶
type Module struct {
CurrentInstance *Instance
Heap *Heap
// contains filtered or unexported fields
}
func (*Module) NewInstance ¶
type PanicError ¶
type PanicError struct {
// contains filtered or unexported fields
}
func (*PanicError) Error ¶
func (e *PanicError) Error() string
type Runtime ¶
type Runtime struct {
// contains filtered or unexported fields
}
func NewRuntime ¶
func NewRuntime(extensions []WASMExtensioner) *Runtime
type WASMExtension ¶
type WASMExtension func(ctx context.Context, request *pbsubstreams.Request, clock *pbsubstreams.Clock, in []byte) (out []byte, err error)
WASMExtension defines the implementation of a function that will be exposed as wasm imports; therefore, exposed to the host language like Rust.
For example, this can be an RPC call, taking a structured request in `in` and outputting a structured response in `out`, both serialized as protobuf messages.
Such a function needs to be registered through RegisterRuntime.
type WASMExtensioner ¶
type WASMExtensioner interface {
WASMExtensions() map[string]map[string]WASMExtension
}
Click to show internal directories.
Click to hide internal directories.