fix: ffi instance be singleton

This commit is contained in:
liwei committed 2024-12-02 23:14:10 +08:00
1 parent 91dfd78b77
commit 4b4c03fd90
18 files changed
+844 -5336

No files matched your search

+9 -6
View File
@@ -10,22 +10,25 @@ import (
func main() {}
//export Create
func Create(cfg *C.char) *C.char {
//export Init
func Init(cfg *C.char) *C.char {
var config model.StartConfig
if err := json.Unmarshal([]byte(C.GoString(cfg)), &config); err != nil {
return C.CString(bind.BuildResult(err))
return C.CString(err.Error())
}
if err := bind.Init(&config); err != nil {
return C.CString(err.Error())
}
return C.CString(bind.Create(&config))
return nil
}
//export Invoke
func Invoke(index int, req *C.char) *C.char {
func Invoke(req *C.char) *C.char {
var request api.Request
if err := json.Unmarshal([]byte(C.GoString(req)), &request); err != nil {
return C.CString(bind.BuildResult(err))
}
return C.CString(bind.Invoke(index, &request))
return C.CString(bind.Invoke(&request))
}