private Boolean TimedOut(DccFileSession session) { if ((DateTime.Now - session.LastActivity) >= _timeout) { return true; } return false; }
internal void AddSession(DccFileSession session) { _sessions.Add(session.ID, session); if (_timerStopped) { _timerStopped = false; _timerThread.Change(TimeoutCheckPeriod, TimeoutCheckPeriod); } Debug.WriteLineIf(DccUtil.DccTrace.TraceInfo, "[" + Thread.CurrentThread.Name + "] DccSessionManager::AddSession() ID=" + session.ID); }
internal void RemoveSession(DccFileSession session) { _sessions.Remove(session.ID); if (_sessions.Count == 0) { _timerStopped = true; _timerThread.Change(Timeout.Infinite, TimeoutCheckPeriod); } Debug.WriteLineIf(DccUtil.DccTrace.TraceInfo, "[" + Thread.CurrentThread.Name + "] DccSessionManager::RemoveSession() ID=" + session.ID); }