Channel
负责注册和响应IO事件
1. 作为注册和响应IO事件的类,所有的事件响应操作都被封装在该类当中
2. 既然需要管理到IO的响应,那么需要设置事件响应的一些回调接口(handleClose, handleConn. handleRead, handleWrite)
httpData
- httpData是计算线程中的数据格式,因此在Channel类中的一些回调接口都将会在httpData中得到绑定实现。
httpData会实现对于Channel类的绑定,Channel类持有httpData指针
现阶段尝试完成httpData类和TimerNode定时器类的编写和理解
EventLoop
负责IO和定时器事件的分派,利用eventfd来异步唤醒并使用Poller来进行IO复用。
分析解读:
亮点1:runInLoop(const Functor& cb)函数,在IO线程内执行某一个用户回调,若用户在当前IO线程调用该函数,则同步执行回调,不然cb将加入队列当中,IO线程将在后续被唤醒来调用该Functor.