示例#1
0
 internal override TimerThread.Timer CreateTimer(TimerThread.Callback callback, object context)
 {
     TimerThread.TimerNode node = new TimerThread.TimerNode(callback, context, base.Duration, this.m_Timers);
     bool flag = false;
     lock (this.m_Timers)
     {
         if (this.m_Timers.Next == this.m_Timers)
         {
             flag = true;
         }
         node.Next = this.m_Timers;
         node.Prev = this.m_Timers.Prev;
         this.m_Timers.Prev.Next = node;
         this.m_Timers.Prev = node;
     }
     if (flag)
     {
         TimerThread.Prod();
     }
     return node;
 }
示例#2
0
 internal override TimerThread.Timer CreateTimer(TimerThread.Callback callback, object context)
 {
     return new TimerThread.InfiniteTimer();
 }
示例#3
0
 internal TimerNode(TimerThread.Callback callback, object context, int durationMilliseconds, object queueLock)
     : base(durationMilliseconds)
 {
     if (callback != null)
     {
         this.m_Callback = callback;
         this.m_Context = context;
     }
     this.m_TimerState = TimerState.Ready;
     this.m_QueueLock = queueLock;
 }
示例#4
0
 internal abstract TimerThread.Timer CreateTimer(TimerThread.Callback callback, object context);