ACE_Event_Handler

ACE_Event_Handler是ACE中的所有反应式事件处理器的基类。这个类提供了以下能力:

  1. 它定义输入事件、输出事件、异常事件、定时器事件以及信号事件的挂钩方法。
  2. 它的挂钩方法允许应用以许多方式扩展事件处理器子类,而不必改变框架。
  3. 它对面向对象回调的使用简化了“数据”与“对这些数据进行操作的挂钩方法”的关联
  4. 它对对象的使用还使“一个事件源(或成组事件源)”与“事件源所关联的数据(比如网络会话)”的绑定得以自动化。
  5. 它将不再需要的事件处理器的销毁集中在一起。
  6. 它持有一个指针,指向管理它的ACE_Reactor,从而使事件处理器对其事件登记和解除登记的正确管理变得简单。

ACE_Event_Handler的接口

方法描述
ACE_Event_Handler()指派可与事件处理器相关联的ACE_Reactor指针
~ACE_Event_Handler()调用purge_pending_notifications()来将其自身从反应器的通知机制中移除
handle_input()在输入事件(例如连接或数据事件)发生时被调用
handle_output()在输出事件成为可能时(例如在流控制缓和或非阻塞式连接完成时)被调用的挂钩方法
handle_exception()在异常事件(例如,TCP紧急数据到达)发生时被调用的挂钩方法
Handle_timeout()在定时器到期时被调用
Handle_signal()在OS发出信号时——或是通过POSIX信号,或是在windows同步对象迁移到激发(Signaled)状态时——被调用的挂钩方法
Handle_close()在其他handle_*()挂钩方法中的一个返回-1时,或是在ACE_Reactor::remove_handler()被显式调用来解除事件处理器的登记时,执行用户定义的终止活动的挂钩方法
get_handler()返回底层I/O句柄。如果事件处理器只是处理时间驱动的事件,该方法可实现为no-op
reactor()用于获取/设置与ACE_Event_Handler相关联的ACE_Reactor指针
priority()用于获取/设置事件处理器的优先级,如ACE_Priority_Reactor所使用的那样













 

 

 

转载于:https://www.cnblogs.com/mlog/archive/2013/01/05/2845601.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值