public bool Request(GatewayClient client) { try { if (Sessions.Count == 0) { this.PendingSessionQueuee.Enqueue(client); LoginClient clienta; if (NetworkManager.TryGetLoginClient(out clienta)) { clienta.RequestSessionId(); return(true); } else { return(false); } } else { uint session = Sessions.Dequeue(); client.SetSessionId(session); return(true); } } catch (Exception ex) { throw new SessionRequestException("Requesting the session id has failed - unknown exception occured", ex); } }
public void Add(uint session) { if (PendingSessionQueuee.Count > 0) { GatewayClient client = PendingSessionQueuee.Dequeue(); if (client != null) { client.SetSessionId(session); } } else { Sessions.Enqueue(session); } }