18 lines
553 B
C#
18 lines
553 B
C#
using System.Collections.Concurrent;
|
|
|
|
namespace SVSim.BattleNode.Sessions;
|
|
|
|
public sealed class InMemoryBattleSessionStore : IBattleSessionStore
|
|
{
|
|
private readonly ConcurrentDictionary<string, PendingBattle> _pending = new();
|
|
|
|
public void RegisterPending(PendingBattle battle) =>
|
|
_pending[battle.BattleId] = battle;
|
|
|
|
public PendingBattle? TryGetPending(string battleId) =>
|
|
_pending.TryGetValue(battleId, out var b) ? b : null;
|
|
|
|
public bool RemovePending(string battleId) =>
|
|
_pending.TryRemove(battleId, out _);
|
|
}
|