Reactor
2016-03-13 13:19
555 查看
1.类图
不管设计模式,reactor中的Add/Del/Process就是SelectDemultiplexer(此次只关注此多路分发器)中的+ AddHandler_:FD_SET 把EventHandler::GetHandle()放入select监听集。(还有poll/epoll等)
+ DelHandler_:FD_CLR
+ ProcessHandler:api select
检测到rd/wr/err就调用
EventHandler::HandleRd
EventHandler::HandleWr
EventHandler::HandleErr
2.Srv demo
3.简结
Ø obj:EventHandler回调函数集
Ø Reactor::AddHandler
先把obj::m_handle对应的EventHandler::HandleCBxx放入map[obj::m_handle] = obj:EventHandler::HandleCBxx,再把obj::m_handle放入监听集中(select/poll/epoll)。
Ø Reactor::ProcessHandler
监听到了,找到对应的obj:EventHandler并执行。
Ø 扩展
在我们自己的app中,一个event对应一个fd。
fd0 = open()
fdn = open()
这样set/get event就可以用reactor了。
相关文章推荐
- ReactNative入门(安卓)——API(下)
- (记录向)reactjs学习记录
- react-native 学习中网站及博客
- react-js demo 地址
- react.js-12-promise
- react.js-10-渐隐动画
- react.js-09-输入刷新界面
- react.js-09-点击刷新state
- react.js-08-state
- react.js-07-组件点击
- react.js-06-propTypes类型校验
- react.js-05-children遍历数组组件
- react-js-04-组件
- react-js-03-数组标签
- React.js-02-遍历数据
- react.js-01-HelloWorld
- React Native For Android 架构初探
- 整理了一份React-Native学习指南
- 【腾讯Bugly干货分享】深入源码探索 ReactNative 通信机制
- React 入门实例教程