libev ev_io源码分析
libev中所有事件的基础类型ev_watcher,所有的事件都可以通过(W)watcher转换成ev_watcher,大写的W在libev定义的是ev_watcher *。抽象出ev_watcher作用是所有的watcher都可以共用ev_start、ev_stop函数。下面用ev_TYPE表示ev_io、ev_timer、ev_async各种watcher类型的通用形式。各种类型的ev_TYPE都继承自ev_watcher,还有形如ev_TYPE_init、ev_TYPE_start、ev_TYPE_stop。