管理端全部功能跑通
This commit is contained in:
31
EdgeHttpDNS/internal/rpc/shared.go
Normal file
31
EdgeHttpDNS/internal/rpc/shared.go
Normal file
@@ -0,0 +1,31 @@
|
||||
package rpc
|
||||
|
||||
import (
|
||||
"sync"
|
||||
|
||||
"github.com/TeaOSLab/EdgeHttpDNS/internal/configs"
|
||||
)
|
||||
|
||||
var sharedRPCClient *RPCClient
|
||||
var sharedLocker sync.Mutex
|
||||
|
||||
func SharedRPC() (*RPCClient, error) {
|
||||
sharedLocker.Lock()
|
||||
defer sharedLocker.Unlock()
|
||||
|
||||
config, err := configs.SharedAPIConfig()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if sharedRPCClient == nil {
|
||||
client, err := NewRPCClient(config)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
sharedRPCClient = client
|
||||
return sharedRPCClient, nil
|
||||
}
|
||||
|
||||
return sharedRPCClient, nil
|
||||
}
|
||||
Reference in New Issue
Block a user