ACE_Reactor在注册ACE_Event_Handler派生类对象时,注意要重写ACE_Event_Handler的get_handle函数。因为基类中,此虚函数只是简单的返回ACE_INVALID_HANDLE,不知道设计者是怎么考虑的,并没有将此函数设计成纯虚函数。
另外,ACE_Event_Handler的schedule_timer接口中,第三个参数是相对时间(ACE_Timer_Queue中的schedule是采用的绝对时间)。使用ACE_Reactor框架添加定时器处理器时,并不是使用register_handler接口,而是schedule_timer接口,将定时器的处理器传入第一个参数,也就是说定时器处理器必须为ACE_Event_Handler的派生类,时间到达时,会自动调用handle_timeout函数,应用必须重写此函数,加入自己的处理代码。
原文链接:https://www.f2er.com/react/308373.html