Example #1
0
 public void CancelSessionTimeout()
 {
     _timeoutTimer.Cancel();
     _timeoutTimer = null;
 }
Example #2
0
 public void ScheduleSessionTimeout(Session session, CancellableTimerCallback callback, TimeSpan dueTime)
 {
     _timeoutTimer = CancellableTimer.Schedule(callback, session, dueTime);
 }
Example #3
0
 private void OnSessionTimeout(object state, CancellableTimer timer)
 {
     Session session = (Session)state;
     try
     {
         session.EnterExclusiveLock();
         if (timer.IsCancelled)
         {
             return;
         }
         _sessions.TryRemove(session.SessionId, out session);
         session.HandleClientTimeOut();
     }
     finally
     {
         session.ExitExclusiveLock();
     }
 }