//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 }