Reactor模式框架
5个关键的参与者
1:描述符
由操作系统提供,用于识别每一个事件,如Socket描述符,文件描述符等
2:同步事件分离器
是一个函数,用来等待一个或多个事件的发生。调用者会被阻塞,直到分离器分离的描述符集上有事件发生
3:事件处理器接口
由一个或多个模块函数组成的接口。这些模板函数描述了和应用程序相关的对某个事件的操作
4:具体的事件处理器
事件处理器接口的实现。它实现了应用程序提供的某个服务。每个具体的事件处理器总和一个描述符相关。
5:Reactor管理器
定义一些接口,用于应用程序控制事件调度,以及应用程序注册、删除事件处理器和相关的描述符。
Reactor管理器使用同步事件分离器来等待事件的发生。一旦事件发生,Reactor管理器先是分离事件,然后调度事件处理器,最后
调用相关的模板函数来处理这个事件