Example #1
0
 public void update_event(long absus, waitable_event_handle eventHandle)
 {
     _workEngine.service.post(delegate()
     {
         if (_exited)
         {
             return;
         }
         if (null != eventHandle.steadyTimer._waitableNode)
         {
             _eventsQueue.Insert(_eventsQueue.ReNewNode(eventHandle.steadyTimer._waitableNode, absus, eventHandle));
         }
         else
         {
             eventHandle.steadyTimer._waitableNode = _eventsQueue.Insert(absus, eventHandle);
         }
         long newAbsus = _eventsQueue.First.Key;
         if (newAbsus < _expireTime)
         {
             _expireTime = newAbsus;
             if (_utcMode)
             {
                 long sleepTime = newAbsus * 10;
                 sleepTime      = sleepTime > 0 ? sleepTime : 0;
                 SetWaitableTimer(_timerHandle, ref sleepTime, 0, 0, 0, 0);
             }
             else
             {
                 long sleepTime = -(newAbsus - system_tick.get_tick_us()) * 10;
                 sleepTime      = sleepTime < 0 ? sleepTime : 0;
                 SetWaitableTimer(_timerHandle, ref sleepTime, 0, 0, 0, 0);
             }
         }
     });
 }
Example #2
0
 public void append_event(long absus, waitable_event_handle eventHandle)
 {
     _workEngine.service.post(delegate()
     {
         if (_exited)
         {
             return;
         }
         eventHandle.steadyTimer._waitableNode = _eventsQueue.Insert(absus, eventHandle);
         if (absus < _expireTime)
         {
             _expireTime = absus;
             if (_utcMode)
             {
                 long sleepTime = absus * 10;
                 sleepTime      = sleepTime > 0 ? sleepTime : 0;
                 SetWaitableTimer(_timerHandle, ref sleepTime, 0, 0, 0, 0);
             }
             else
             {
                 long sleepTime = -(absus - system_tick.get_tick_us()) * 10;
                 sleepTime      = sleepTime < 0 ? sleepTime : 0;
                 SetWaitableTimer(_timerHandle, ref sleepTime, 0, 0, 0, 0);
             }
         }
     });
 }
Example #3
0
 public void append_event(long absus, waitable_event_handle eventHandle)
 {
     _workEngine.service.post(delegate()
     {
         if (_exited)
         {
             return;
         }
         eventHandle.steadyTimer._waitableNode = _eventsQueue.Insert(absus, eventHandle);
         if (absus < _expireTime)
         {
             _expireTime = absus;
             set_timer();
         }
     });
 }
Example #4
0
 public void update_event(long absus, waitable_event_handle eventHandle)
 {
     _workEngine.service.post(delegate()
     {
         if (_exited)
         {
             return;
         }
         if (null != eventHandle.steadyTimer._waitableNode)
         {
             _eventsQueue.Insert(_eventsQueue.ReNewNode(eventHandle.steadyTimer._waitableNode, absus, eventHandle));
         }
         else
         {
             eventHandle.steadyTimer._waitableNode = _eventsQueue.Insert(absus, eventHandle);
         }
         long newAbsus = _eventsQueue.First.Key;
         if (newAbsus < _expireTime)
         {
             _expireTime = newAbsus;
             set_timer();
         }
     });
 }