refactor(socket): 更新广播和退出逻辑中的类型引用

更新socket服务器中广播功能和退出功能的代码,
将player.Player类型替换为player.ClientData类型,
并相应调整方法调用以适应新的数据结构。

feat(map): 添加LoadOrStore方法支持

在并发安全的swiss map中新增LoadOrStore方法,
提供原子性的加载或存储功能,增强map的操作能力。

refactor(login): 优化登录逻辑中的玩家获取方式

重构登录控制器中获取玩家对象的方式,
直接从
This commit is contained in:
昔念
2026-03-16 22:30:12 +08:00
parent 30dba8fee3
commit d74652373c
9 changed files with 32 additions and 50 deletions

View File

@@ -43,6 +43,10 @@ func WithSize[K comparable, V any](size uint64) func(csMap *CsMap[K, V]) {
func (m *CsMap[K, V]) Store(key K, value V) {
m.inner.Store(key, value)
}
func (m *CsMap[K, V]) LoadOrStore(key K, value V) (actual V, loaded bool) {
T, OK := m.inner.LoadOrStore(key, value)
return T.(V), OK
}
// Delete 删除指定键,返回是否删除成功
func (m *CsMap[K, V]) Delete(key K) bool {