예제 #1
0
 private Boolean TimedOut(DccFileSession session)
 {
     if ((DateTime.Now - session.LastActivity) >= _timeout)
     {
         return true;
     }
     return false;
 }
예제 #2
0
 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);
 }
예제 #3
0
 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);
 }