Reactor
介绍
有了c语言实现的基础,使用c++来写Reactor就非常容易了。
首先介绍的就是Reactor的三大组件。
- handler
- demultiplexer
- reactor
handler
handler负责抽象事件。
- 设置fd
- 设置关注的事件类型
- 设置回调函数
等基本事件。
reactor
reactor负责将handler注册到demultiplexer上。
demultiplexer
就是封装了一个epoll进去。
基本使用
handler设置关注的事件类型,然后设置相应的回调函数。
reactor将handler注册到demultiplexer上。
然后开启loop,实际上就是去调用epoll_wait。当有事件就绪的时候,再通过demultiplexer->poll()返回一个就绪列表给reactor。