From e21483a6a35eb12c27e86ebbd081d2eae07fa074 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 15 Apr 2024 16:32:13 +0800 Subject: [PATCH] 1 --- server/imserver/player/playermgr.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/server/imserver/player/playermgr.go b/server/imserver/player/playermgr.go index 77a93d79..fe59f512 100644 --- a/server/imserver/player/playermgr.go +++ b/server/imserver/player/playermgr.go @@ -33,6 +33,8 @@ type playerMgr struct { pendingLoginHash map[string]*pendingLoginRequest socketCloseEventHash map[f5.WspCliConn]*q5.ListHead currReqId int64 + recommendHumans []*player + lastRefreshRecommendTick int64 } func (this *playerMgr) Init() { @@ -359,4 +361,15 @@ func (this *playerMgr) traverseHumans(cb func(*player) bool) { } func (this *playerMgr) GetRecommendPlayers(excludeHums map[string]int32, outHums map[string]int32, num int32) { + if len(this.accountIdHash) < 50 || + q5.GetTickCount() - this.lastRefreshRecommendTick > 1000 * 60 { + this.recommendHumans = []*player{} + this.traverseHumans( + func (hum *player) bool { + if _, ok := excludeHums[hum.GetAccountId()]; !ok { + q5.AppendSlice(&this.recommendHumans, hum) + } + return true + }) + } }