using System.Collections.Concurrent; namespace Yuanshen.Gameserver.Database; internal sealed class PlayerSessionRegistry { private readonly ConcurrentDictionary _owners = new(); public void Acquire(uint uid, long sessionId) => _owners[uid] = sessionId; public bool IsOwner(uint uid, long sessionId) => _owners.TryGetValue(uid, out long owner) && owner == sessionId; public void Release(uint uid, long sessionId) => _owners.TryRemove(new KeyValuePair(uid, sessionId)); }