task_timer.cpp
来自「ace开发环境 用来开发网络程序 其运用了设计模式、多平台、C++等多种知识」· C++ 代码 · 共 107 行
CPP
107 行
// $Id: Task_Timer.cpp 60015 2004-09-01 21:20:10Z shuston $#ifndef JAWS_BUILD_DLL#define JAWS_BUILD_DLL#endif#include "ace/OS_NS_sys_time.h"#include "jaws3/Task_Timer.h"#include "jaws3/Timer_Helpers.h"JAWS_Task_Timer::JAWS_Task_Timer (void){ this->timer_queue_.activate ();}void JAWS_Task_Timer::schedule_timer ( long *timer_id , const ACE_Time_Value &delta , JAWS_Event_Completer *completer , void *act ){ JAWS_Timer_EH *eh = new JAWS_Timer_EH (completer, act); if (eh == 0 || (*timer_id = this->timer_queue_.schedule ( eh , 0 , delta + ACE_OS::gettimeofday ())) == -1) { JAWS_Event_Result timer_result ( 0 , JAWS_Event_Result::JE_ERROR , JAWS_Event_Result::JE_TIMER_FAIL ); if (completer) completer->timer_complete (timer_result, act); delete eh; }}void JAWS_Task_Timer::schedule_absolute_timer ( long *timer_id , const ACE_Time_Value &tv , JAWS_Event_Completer *completer , void *act ){ JAWS_Timer_EH *eh = new JAWS_Timer_EH (completer, act); if (eh == 0 || (*timer_id = this->timer_queue_.schedule (eh, 0, tv)) == -1) { JAWS_Event_Result timer_result ( 0 , JAWS_Event_Result::JE_ERROR , JAWS_Event_Result::JE_TIMER_FAIL ); if (completer) completer->timer_complete (timer_result, act); delete eh; }}voidJAWS_Task_Timer::schedule_interval_timer ( long *timer_id , const ACE_Time_Value &interval , JAWS_Event_Completer *completer , void *act ){ JAWS_Timer_EH *eh = new JAWS_Timer_EH (completer, act); if (eh == 0 || (*timer_id = this->timer_queue_.schedule ( eh , 0 , interval + ACE_OS::gettimeofday () , interval )) == -1) { JAWS_Event_Result timer_result ( 0 , JAWS_Event_Result::JE_ERROR , JAWS_Event_Result::JE_TIMER_FAIL ); if (completer) completer->timer_complete (timer_result, act); delete eh; }}voidJAWS_Task_Timer::cancel_timer (long timer_id){ this->timer_queue_.cancel (timer_id);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?