示例#1
0
 public TimerManager()
 {
     this.onWaitCallback     = new Action <object>(this.OnWaitCallback);
     this.stableTimerGroup   = new IOThreadTimer.TimerGroup();
     this.volatileTimerGroup = new IOThreadTimer.TimerGroup();
     IOThreadTimer.WaitableTimer[] waitableTimer = new IOThreadTimer.WaitableTimer[2];
     waitableTimer[0]    = this.stableTimerGroup.WaitableTimer;
     waitableTimer[1]    = this.volatileTimerGroup.WaitableTimer;
     this.waitableTimers = waitableTimer;
 }
示例#2
0
            private void UpdateWaitableTimer(IOThreadTimer.TimerGroup timerGroup)
            {
                IOThreadTimer.WaitableTimer waitableTimer = timerGroup.WaitableTimer;
                IOThreadTimer minTimer = timerGroup.TimerQueue.MinTimer;
                long          num      = waitableTimer.DueTime - minTimer.dueTime;

                if (num < 0L)
                {
                    num = -num;
                }
                if (num > minTimer.maxSkew)
                {
                    waitableTimer.Set(minTimer.dueTime);
                }
            }
示例#3
0
            private void UpdateWaitableTimer(IOThreadTimer.TimerGroup timerGroup)
            {
                IOThreadTimer.WaitableTimer waitableTimer = timerGroup.WaitableTimer;
                IOThreadTimer minTimer = timerGroup.TimerQueue.MinTimer;
                long          dueTime  = waitableTimer.DueTime - minTimer.dueTime;

                if (dueTime < (long)0)
                {
                    dueTime = -dueTime;
                }
                if (dueTime > minTimer.maxSkew)
                {
                    waitableTimer.Set(minTimer.dueTime);
                }
            }
示例#4
0
 public TimerGroup()
 {
     this.waitableTimer = new IOThreadTimer.WaitableTimer();
     this.waitableTimer.Set(0x7fffffffffffffffL);
     this.timerQueue = new IOThreadTimer.TimerQueue();
 }
示例#5
0
			public TimerManager()
			{
				this.onWaitCallback = new Action<object>(this.OnWaitCallback);
				this.stableTimerGroup = new IOThreadTimer.TimerGroup();
				this.volatileTimerGroup = new IOThreadTimer.TimerGroup();
				IOThreadTimer.WaitableTimer[] waitableTimer = new IOThreadTimer.WaitableTimer[2];
				waitableTimer[0] = this.stableTimerGroup.WaitableTimer;
				waitableTimer[1] = this.volatileTimerGroup.WaitableTimer;
				this.waitableTimers = waitableTimer;
			}
示例#6
0
			public TimerGroup()
			{
				this.waitableTimer = new IOThreadTimer.WaitableTimer();
				this.waitableTimer.Set(0x7fffffffffffffffL);
				this.timerQueue = new IOThreadTimer.TimerQueue();
			}