Files
EdgeAdmin/internal/rpc/rpc_utils.go

31 lines
470 B
Go
Raw Normal View History

2020-07-22 22:19:39 +08:00
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)
if err != nil {
return nil, err
}
sharedRPC = client
return sharedRPC, nil
}