zoukankan      html  css  js  c++  java
  • 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所使用的那样













     

     

    靓点博客 http://www.cnblogs.com/mlog 或 http://blog.csdn.net/cml2030
  • 相关阅读:
    各种概念POJO、JAVABEAN、DAO、DTO、PO、VO、BO、SSH、EJB
    SSH框架与SSI框架的区别
    SSH框架结构分析
    SSH框架系列:Spring配置多个数据源
    Java系列之:看似简单的问题 静态方法和实例化方法的区别
    数据库同步和使用JSONObject让Java Bean“原地满状态复活”
    Java工作队列和线程池
    Lucene之删除索引
    Java设计模式之Iterator模式
    有关《查找两个List中的不同元素》的问题解答与编程实践
  • 原文地址:https://www.cnblogs.com/mlog/p/2845601.html
Copyright © 2011-2022 走看看