ws提供遍历玩家功能
This commit is contained in:
parent
80d513739c
commit
77ed185e08
@ -7,15 +7,11 @@ import (
|
|||||||
var userMgr = newUserManager()
|
var userMgr = newUserManager()
|
||||||
|
|
||||||
type userManager struct {
|
type userManager struct {
|
||||||
users sync.Map // cmap.ConcurrentMap[int64, uint32]
|
users sync.Map // map[int64]uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
func newUserManager() *userManager {
|
func newUserManager() *userManager {
|
||||||
return &userManager{
|
return &userManager{}
|
||||||
//users: cmap.NewWithCustomShardingFunction[int64, uint32](func(key int64) uint32 {
|
|
||||||
// return uint32(key)
|
|
||||||
//}),
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *userManager) Add(connId uint32, userId int64) bool {
|
func (m *userManager) Add(connId uint32, userId int64) bool {
|
||||||
@ -37,6 +33,11 @@ func (m *userManager) GetConnId(userId int64) uint32 {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// k:userid v:conn
|
||||||
|
func (m *userManager) Rang(cb func(k, v any) bool) {
|
||||||
|
m.users.Range(cb)
|
||||||
|
}
|
||||||
|
|
||||||
func (m *userManager) Remove(userId int64) {
|
func (m *userManager) Remove(userId int64) {
|
||||||
if userId < 1 {
|
if userId < 1 {
|
||||||
return
|
return
|
||||||
|
10
ws/wsMgr.go
10
ws/wsMgr.go
@ -47,8 +47,14 @@ func (m *wsManager) FindByUserId(userId int64) (*wsConnect, bool) {
|
|||||||
return m.Get(connId)
|
return m.Get(connId)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *wsManager) Rang(cb func(k, v any) bool) {
|
func (m *wsManager) Rang(cb func(conn IConn) bool) {
|
||||||
m.wsConnAll.Range(cb)
|
userMgr.Rang(func(_, v any) bool {
|
||||||
|
connId := v.(uint32)
|
||||||
|
if conn, ok := m.Get(connId); ok {
|
||||||
|
return cb(conn)
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *wsManager) Count() int {
|
func (m *wsManager) Count() int {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user