refactor(rpc): 重构服务器信息获取逻辑,移除冗余锁机制并优化踢人逻辑
This commit is contained in:
@@ -5,12 +5,11 @@ import (
|
||||
"blazing/modules/base/service"
|
||||
"blazing/modules/blazing/model"
|
||||
"context"
|
||||
"sync"
|
||||
|
||||
"github.com/butoften/array"
|
||||
)
|
||||
|
||||
func GetServerInfoList1() []ServerInfo {
|
||||
func GetServerInfoList() []ServerInfo {
|
||||
dictInfoModel1 := model.NewServerList()
|
||||
mType := cool.DBM(dictInfoModel1)
|
||||
t, _ := mType.All()
|
||||
@@ -32,10 +31,15 @@ func GetServerInfoList1() []ServerInfo {
|
||||
}
|
||||
tt.Port = v.Port
|
||||
t, ok := Clientmap[v.Port]
|
||||
if ok && t != nil {
|
||||
|
||||
// tt.Friends = v.Friends
|
||||
ret1 = append(ret1, *tt)
|
||||
if ok {
|
||||
cool.Loger.Info(context.TODO(), "服务器假踢人")
|
||||
err := t.KickPerson(0) //实现指定服务器踢人
|
||||
if err == nil {
|
||||
// tt.Friends = v.Friends
|
||||
ret1 = append(ret1, *tt)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -112,19 +116,19 @@ type BlackInfo struct {
|
||||
//TimePoke uint32
|
||||
}
|
||||
|
||||
func Refurh() {
|
||||
l.Lock()
|
||||
defer l.Unlock()
|
||||
GetServerInfoList = GetServerInfoList1()
|
||||
// func Refurh() {
|
||||
// l.Lock()
|
||||
// defer l.Unlock()
|
||||
// GetServerInfoList = GetServerInfoList1()
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
func GetServer() []ServerInfo {
|
||||
l.RLock()
|
||||
defer l.RUnlock()
|
||||
return GetServerInfoList
|
||||
// func GetServer() []ServerInfo {
|
||||
// l.RLock()
|
||||
// defer l.RUnlock()
|
||||
// return GetServerInfoList
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
var GetServerInfoList = GetServerInfoList1()
|
||||
var l sync.RWMutex
|
||||
// var GetServerInfoList = GetServerInfoList1()
|
||||
// var l sync.RWMutex
|
||||
|
||||
@@ -63,7 +63,7 @@ func (h *ServerHandler) RegisterLogic(ctx context.Context, id, port uint16) erro
|
||||
}
|
||||
Clientmap[port] = &revClient
|
||||
|
||||
Refurh()
|
||||
//Refurh()
|
||||
return nil
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user