Some checks failed
Pipeline: Test, Lint, Build / Get version info (push) Has been cancelled
Pipeline: Test, Lint, Build / Lint Go code (push) Has been cancelled
Pipeline: Test, Lint, Build / Test Go code (push) Has been cancelled
Pipeline: Test, Lint, Build / Test JS code (push) Has been cancelled
Pipeline: Test, Lint, Build / Lint i18n files (push) Has been cancelled
Pipeline: Test, Lint, Build / Check Docker configuration (push) Has been cancelled
Pipeline: Test, Lint, Build / Build (darwin/amd64) (push) Has been cancelled
Pipeline: Test, Lint, Build / Build (darwin/arm64) (push) Has been cancelled
Pipeline: Test, Lint, Build / Build (linux/386) (push) Has been cancelled
Pipeline: Test, Lint, Build / Build (linux/amd64) (push) Has been cancelled
Pipeline: Test, Lint, Build / Build (linux/arm/v5) (push) Has been cancelled
Pipeline: Test, Lint, Build / Build (linux/arm/v6) (push) Has been cancelled
Pipeline: Test, Lint, Build / Build (linux/arm/v7) (push) Has been cancelled
Pipeline: Test, Lint, Build / Build (linux/arm64) (push) Has been cancelled
Pipeline: Test, Lint, Build / Build (windows/386) (push) Has been cancelled
Pipeline: Test, Lint, Build / Build (windows/amd64) (push) Has been cancelled
Pipeline: Test, Lint, Build / Push to GHCR (push) Has been cancelled
Pipeline: Test, Lint, Build / Push to Docker Hub (push) Has been cancelled
Pipeline: Test, Lint, Build / Cleanup digest artifacts (push) Has been cancelled
Pipeline: Test, Lint, Build / Build Windows installers (push) Has been cancelled
Pipeline: Test, Lint, Build / Package/Release (push) Has been cancelled
Pipeline: Test, Lint, Build / Upload Linux PKG (push) Has been cancelled
Close stale issues and PRs / stale (push) Has been cancelled
POEditor import / update-translations (push) Has been cancelled
375 lines
8.9 KiB
Go
375 lines
8.9 KiB
Go
//go:build !wasip1
|
|
|
|
// Code generated by protoc-gen-go-plugin. DO NOT EDIT.
|
|
// versions:
|
|
// protoc-gen-go-plugin v0.1.0
|
|
// protoc v5.29.3
|
|
// source: host/cache/cache.proto
|
|
|
|
package cache
|
|
|
|
import (
|
|
context "context"
|
|
wasm "github.com/knqyf263/go-plugin/wasm"
|
|
wazero "github.com/tetratelabs/wazero"
|
|
api "github.com/tetratelabs/wazero/api"
|
|
)
|
|
|
|
const (
|
|
i32 = api.ValueTypeI32
|
|
i64 = api.ValueTypeI64
|
|
)
|
|
|
|
type _cacheService struct {
|
|
CacheService
|
|
}
|
|
|
|
// Instantiate a Go-defined module named "env" that exports host functions.
|
|
func Instantiate(ctx context.Context, r wazero.Runtime, hostFunctions CacheService) error {
|
|
envBuilder := r.NewHostModuleBuilder("env")
|
|
h := _cacheService{hostFunctions}
|
|
|
|
envBuilder.NewFunctionBuilder().
|
|
WithGoModuleFunction(api.GoModuleFunc(h._SetString), []api.ValueType{i32, i32}, []api.ValueType{i64}).
|
|
WithParameterNames("offset", "size").
|
|
Export("set_string")
|
|
|
|
envBuilder.NewFunctionBuilder().
|
|
WithGoModuleFunction(api.GoModuleFunc(h._GetString), []api.ValueType{i32, i32}, []api.ValueType{i64}).
|
|
WithParameterNames("offset", "size").
|
|
Export("get_string")
|
|
|
|
envBuilder.NewFunctionBuilder().
|
|
WithGoModuleFunction(api.GoModuleFunc(h._SetInt), []api.ValueType{i32, i32}, []api.ValueType{i64}).
|
|
WithParameterNames("offset", "size").
|
|
Export("set_int")
|
|
|
|
envBuilder.NewFunctionBuilder().
|
|
WithGoModuleFunction(api.GoModuleFunc(h._GetInt), []api.ValueType{i32, i32}, []api.ValueType{i64}).
|
|
WithParameterNames("offset", "size").
|
|
Export("get_int")
|
|
|
|
envBuilder.NewFunctionBuilder().
|
|
WithGoModuleFunction(api.GoModuleFunc(h._SetFloat), []api.ValueType{i32, i32}, []api.ValueType{i64}).
|
|
WithParameterNames("offset", "size").
|
|
Export("set_float")
|
|
|
|
envBuilder.NewFunctionBuilder().
|
|
WithGoModuleFunction(api.GoModuleFunc(h._GetFloat), []api.ValueType{i32, i32}, []api.ValueType{i64}).
|
|
WithParameterNames("offset", "size").
|
|
Export("get_float")
|
|
|
|
envBuilder.NewFunctionBuilder().
|
|
WithGoModuleFunction(api.GoModuleFunc(h._SetBytes), []api.ValueType{i32, i32}, []api.ValueType{i64}).
|
|
WithParameterNames("offset", "size").
|
|
Export("set_bytes")
|
|
|
|
envBuilder.NewFunctionBuilder().
|
|
WithGoModuleFunction(api.GoModuleFunc(h._GetBytes), []api.ValueType{i32, i32}, []api.ValueType{i64}).
|
|
WithParameterNames("offset", "size").
|
|
Export("get_bytes")
|
|
|
|
envBuilder.NewFunctionBuilder().
|
|
WithGoModuleFunction(api.GoModuleFunc(h._Remove), []api.ValueType{i32, i32}, []api.ValueType{i64}).
|
|
WithParameterNames("offset", "size").
|
|
Export("remove")
|
|
|
|
envBuilder.NewFunctionBuilder().
|
|
WithGoModuleFunction(api.GoModuleFunc(h._Has), []api.ValueType{i32, i32}, []api.ValueType{i64}).
|
|
WithParameterNames("offset", "size").
|
|
Export("has")
|
|
|
|
_, err := envBuilder.Instantiate(ctx)
|
|
return err
|
|
}
|
|
|
|
// Set a string value in the cache
|
|
|
|
func (h _cacheService) _SetString(ctx context.Context, m api.Module, stack []uint64) {
|
|
offset, size := uint32(stack[0]), uint32(stack[1])
|
|
buf, err := wasm.ReadMemory(m.Memory(), offset, size)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
request := new(SetStringRequest)
|
|
err = request.UnmarshalVT(buf)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
resp, err := h.SetString(ctx, request)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
buf, err = resp.MarshalVT()
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
ptr, err := wasm.WriteMemory(ctx, m, buf)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
ptrLen := (ptr << uint64(32)) | uint64(len(buf))
|
|
stack[0] = ptrLen
|
|
}
|
|
|
|
// Get a string value from the cache
|
|
|
|
func (h _cacheService) _GetString(ctx context.Context, m api.Module, stack []uint64) {
|
|
offset, size := uint32(stack[0]), uint32(stack[1])
|
|
buf, err := wasm.ReadMemory(m.Memory(), offset, size)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
request := new(GetRequest)
|
|
err = request.UnmarshalVT(buf)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
resp, err := h.GetString(ctx, request)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
buf, err = resp.MarshalVT()
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
ptr, err := wasm.WriteMemory(ctx, m, buf)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
ptrLen := (ptr << uint64(32)) | uint64(len(buf))
|
|
stack[0] = ptrLen
|
|
}
|
|
|
|
// Set an integer value in the cache
|
|
|
|
func (h _cacheService) _SetInt(ctx context.Context, m api.Module, stack []uint64) {
|
|
offset, size := uint32(stack[0]), uint32(stack[1])
|
|
buf, err := wasm.ReadMemory(m.Memory(), offset, size)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
request := new(SetIntRequest)
|
|
err = request.UnmarshalVT(buf)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
resp, err := h.SetInt(ctx, request)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
buf, err = resp.MarshalVT()
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
ptr, err := wasm.WriteMemory(ctx, m, buf)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
ptrLen := (ptr << uint64(32)) | uint64(len(buf))
|
|
stack[0] = ptrLen
|
|
}
|
|
|
|
// Get an integer value from the cache
|
|
|
|
func (h _cacheService) _GetInt(ctx context.Context, m api.Module, stack []uint64) {
|
|
offset, size := uint32(stack[0]), uint32(stack[1])
|
|
buf, err := wasm.ReadMemory(m.Memory(), offset, size)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
request := new(GetRequest)
|
|
err = request.UnmarshalVT(buf)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
resp, err := h.GetInt(ctx, request)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
buf, err = resp.MarshalVT()
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
ptr, err := wasm.WriteMemory(ctx, m, buf)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
ptrLen := (ptr << uint64(32)) | uint64(len(buf))
|
|
stack[0] = ptrLen
|
|
}
|
|
|
|
// Set a float value in the cache
|
|
|
|
func (h _cacheService) _SetFloat(ctx context.Context, m api.Module, stack []uint64) {
|
|
offset, size := uint32(stack[0]), uint32(stack[1])
|
|
buf, err := wasm.ReadMemory(m.Memory(), offset, size)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
request := new(SetFloatRequest)
|
|
err = request.UnmarshalVT(buf)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
resp, err := h.SetFloat(ctx, request)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
buf, err = resp.MarshalVT()
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
ptr, err := wasm.WriteMemory(ctx, m, buf)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
ptrLen := (ptr << uint64(32)) | uint64(len(buf))
|
|
stack[0] = ptrLen
|
|
}
|
|
|
|
// Get a float value from the cache
|
|
|
|
func (h _cacheService) _GetFloat(ctx context.Context, m api.Module, stack []uint64) {
|
|
offset, size := uint32(stack[0]), uint32(stack[1])
|
|
buf, err := wasm.ReadMemory(m.Memory(), offset, size)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
request := new(GetRequest)
|
|
err = request.UnmarshalVT(buf)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
resp, err := h.GetFloat(ctx, request)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
buf, err = resp.MarshalVT()
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
ptr, err := wasm.WriteMemory(ctx, m, buf)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
ptrLen := (ptr << uint64(32)) | uint64(len(buf))
|
|
stack[0] = ptrLen
|
|
}
|
|
|
|
// Set a byte slice value in the cache
|
|
|
|
func (h _cacheService) _SetBytes(ctx context.Context, m api.Module, stack []uint64) {
|
|
offset, size := uint32(stack[0]), uint32(stack[1])
|
|
buf, err := wasm.ReadMemory(m.Memory(), offset, size)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
request := new(SetBytesRequest)
|
|
err = request.UnmarshalVT(buf)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
resp, err := h.SetBytes(ctx, request)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
buf, err = resp.MarshalVT()
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
ptr, err := wasm.WriteMemory(ctx, m, buf)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
ptrLen := (ptr << uint64(32)) | uint64(len(buf))
|
|
stack[0] = ptrLen
|
|
}
|
|
|
|
// Get a byte slice value from the cache
|
|
|
|
func (h _cacheService) _GetBytes(ctx context.Context, m api.Module, stack []uint64) {
|
|
offset, size := uint32(stack[0]), uint32(stack[1])
|
|
buf, err := wasm.ReadMemory(m.Memory(), offset, size)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
request := new(GetRequest)
|
|
err = request.UnmarshalVT(buf)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
resp, err := h.GetBytes(ctx, request)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
buf, err = resp.MarshalVT()
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
ptr, err := wasm.WriteMemory(ctx, m, buf)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
ptrLen := (ptr << uint64(32)) | uint64(len(buf))
|
|
stack[0] = ptrLen
|
|
}
|
|
|
|
// Remove a value from the cache
|
|
|
|
func (h _cacheService) _Remove(ctx context.Context, m api.Module, stack []uint64) {
|
|
offset, size := uint32(stack[0]), uint32(stack[1])
|
|
buf, err := wasm.ReadMemory(m.Memory(), offset, size)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
request := new(RemoveRequest)
|
|
err = request.UnmarshalVT(buf)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
resp, err := h.Remove(ctx, request)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
buf, err = resp.MarshalVT()
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
ptr, err := wasm.WriteMemory(ctx, m, buf)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
ptrLen := (ptr << uint64(32)) | uint64(len(buf))
|
|
stack[0] = ptrLen
|
|
}
|
|
|
|
// Check if a key exists in the cache
|
|
|
|
func (h _cacheService) _Has(ctx context.Context, m api.Module, stack []uint64) {
|
|
offset, size := uint32(stack[0]), uint32(stack[1])
|
|
buf, err := wasm.ReadMemory(m.Memory(), offset, size)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
request := new(HasRequest)
|
|
err = request.UnmarshalVT(buf)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
resp, err := h.Has(ctx, request)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
buf, err = resp.MarshalVT()
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
ptr, err := wasm.WriteMemory(ctx, m, buf)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
ptrLen := (ptr << uint64(32)) | uint64(len(buf))
|
|
stack[0] = ptrLen
|
|
}
|