Beispiel #1
0
        public static void StartTimers(ICallbackQueue callbackQueue, ITimerSvc timerSvc, IDateTimeSvc dateTimeSvc)
        {
            var period = Math.Floor(Const.IdleCallbackLimit / 2) * 1000;

            timerSvc.AddPeriodicTimer(Const.CallIdleCallbacksTimerId, period, () =>
            {
                var expiry = dateTimeSvc.GetCurrentDateTimeAsUtc().AddSeconds(Const.IdleCallbackLimit * -1);
                var newSince = dateTimeSvc.GetCurrentDateTimeAsUtc().AddSeconds(-1);

                foreach (var callback in callbackQueue.DequeueExpired(expiry))
                    callback(new string[] { }, newSince);
            });
        }
Beispiel #2
0
 public static void StopTimers(ITimerSvc timerSvc)
 {
     timerSvc.RemovePeriodicTimer(Const.CallIdleCallbacksTimerId);
 }