Files
EdgeAdmin/internal/rpc/rpc_utils.go
2021-11-10 22:22:27 +08:00

31 lines
476 B
Go

package rpc
import (
"github.com/TeaOSLab/EdgeAdmin/internal/configs"
"sync"
)
var sharedRPC *RPCClient = nil
var locker = &sync.Mutex{}
func SharedRPC() (*RPCClient, error) {
locker.Lock()
defer locker.Unlock()
if sharedRPC != nil {
return sharedRPC, nil
}
config, err := configs.LoadAPIConfig()
if err != nil {
return nil, err
}
client, err := NewRPCClient(config, true)
if err != nil {
return nil, err
}
sharedRPC = client
return sharedRPC, nil
}