/* these may evaluate ev multiple times, and the other arguments at most once */
/* either use ev_init + ev_TYPE_set, or the ev_TYPE_init macro, below, to first initialise a watcher */
#define ev_init(ev,cb_) do { \
((ev_watcher *)(void *)(ev))->active = \
((ev_watcher *)(void *)(ev))->pending = ; \
ev_set_priority ((ev), ); \
ev_set_cb ((ev), cb_); \
} while ()

当event_loop初始化后,就可以把自己想要做的时间丢给loop啦,具体怎么搞呢,可以调用ev_init这个宏,尼玛,又是宏!

其实关键的一句就是

ev_set_cb ((ev), cb_);   就是把ev_io的回调设置为cb_啦。

ok,就是这样!

其中,
ev_watcher 是神马玩意呢?

/* shared by all watchers */
#define EV_WATCHER(type) \
int active; /* private */ \
int pending; /* private */ \
EV_DECL_PRIORITY /* private */ \ //int priority
EV_COMMON /* rw */ \ //void* Data
EV_CB_DECLARE (type) /* private */ //声明了第一个参数为type的回调

#define EV_WATCHER_LIST(type) \
EV_WATCHER (type) \
struct ev_watcher_list *next; /* private */

是指一个watcher链表

												

最新文章

  1. 从零开始学习jQuery (三) 管理jQuery包装集
  2. [转载]Linux Bond的原理及其不足
  3. c# chart
  4. python走起之第五话
  5. 12岁的少年教你用Python做小游戏
  6. thinkphp 实现无限极分类
  7. 包装设计模式的实现以改进BufferedReader中的readLine方法为例
  8. Windows读取文本文件后的显示过程
  9. php利用smtp类轻松的发送电子邮件
  10. AngularJS实现表单手动验证和表单自动验证
  11. IDEA14中安装go语言插件
  12. java+tomcat+Eclipse+mysql配置
  13. HTML中的table布局
  14. CSS常用字体名称
  15. 土制Excel导入导出及相关问题探讨
  16. IDE安装Lombok插件提高开发效率
  17. Python 标准异常总结
  18. # 20175227 2018-2019-2 《Java程序设计》第二周学习总结
  19. 20155227《网络对抗》Exp5 MSF基础应用
  20. js 加alert后才能执行方法

热门文章

  1. python对json的操作总结 zz
  2. 【Scala】Scala-循环与遍历
  3. 抽屉柜式MCC柜中PROFIBUS设备推荐波特率及相应传输距离
  4. [Canvas]人物型英雄出现(前作仅为箭头)
  5. Code optimization and organization in Javascript / jQuery
  6. Log4j中conversionPattern的含义
  7. WIN10系统如何取消右下角的通知菜单,通知图标
  8. 如何在onCreate方法中获取视图的宽度和高度
  9. ObservableCollection<T> 类
  10. You have version null and I want version 8