mirror of
				https://github.com/TeaOSLab/EdgeNode.git
				synced 2025-11-04 16:00:25 +08:00 
			
		
		
		
	阶段性提交
This commit is contained in:
		
							
								
								
									
										30
									
								
								internal/rpc/rpc_utils.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								internal/rpc/rpc_utils.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
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
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user