Files
msw/core/conns.go
2024-05-16 15:51:06 +08:00

37 lines
564 B
Go

package core
import (
"fmt"
"log"
"sync"
"google.golang.org/grpc"
)
var conns = map[string]*grpc.ClientConn{}
var connsLock sync.Mutex
func AddConn(name string, conn *grpc.ClientConn) {
connsLock.Lock()
defer connsLock.Unlock()
if oldConn, ok := conns[name]; ok {
oldConn.Close()
}
conns[name] = conn
}
func PrintConns() {
connsLock.Lock()
defer connsLock.Unlock()
report := "Current connections:\n"
for name, conn := range conns {
report += fmt.Sprintf(" %s %s -> %s\n", conn.GetState(), name, conn.Target())
}
log.Print(report)
}