public void AddSession(Session session) { lock (this.sessionsLock) { this.sessions.Add(session); } }
private void WorkThread(object state) { var sessionManager = new SessionManager(); while (!this.isClosed) { try { var tcpClient = this.tcpListener.AcceptTcpClient(); var session = new Session(sessionManager, tcpClient); sessionManager.AddSession(session); Console.WriteLine("New session #{0} created", session ); } catch (SocketException) { Console.WriteLine("Accept failure"); break; } } sessionManager.RemoveAllSessions(); }
public void RemoveSession(Session session) { lock (this.sessionsLock) { this.sessions.Remove(session); this.isEnded = true; } }