mirror of
https://github.com/TeaOSLab/EdgeAdmin.git
synced 2025-11-03 20:40:26 +08:00
31 lines
476 B
Go
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
|
|
}
|