Files
waf-platform/EdgeHttpDNS/internal/rpc/shared.go
2026-02-27 10:35:22 +08:00

32 lines
517 B
Go

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
}