This repository has been archived on 2026-07-29. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
GoEdgeNode/internal/rpc/rpc_utils.go
T
2020-09-09 18:53:53 +08:00

31 lines
469 B
Go

package rpc
import (
"github.com/TeaOSLab/EdgeNode/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
}