using System.Collections.Generic; using System.Linq; namespace MxGateway.Worker.MxAccess; public sealed class MxAccessHandleRegistry { private readonly Dictionary serverHandles = new(); public IReadOnlyList ServerHandles => serverHandles .Values .OrderBy(handle => handle.ServerHandle) .ToArray(); public void RegisterServerHandle( int serverHandle, string clientName) { serverHandles[serverHandle] = new RegisteredServerHandle(serverHandle, clientName); } public void UnregisterServerHandle(int serverHandle) { serverHandles.Remove(serverHandle); } public bool ContainsServerHandle(int serverHandle) { return serverHandles.ContainsKey(serverHandle); } }