事件类型
libevent事件的基本操作单位是事件,每个事件代表一组条件的集合,包括:
文件描述符就绪
文件描述符变为就绪(ET模式)
超时事件
发生某信号
用户触发事件
事件状态
initialized:事件初始化,包括描述符,回调,关心的事件等
pending:事件已被添加到event_base中
active:事件发生,具体可表现为描述符可读或者可写,执行用户回调
persistent:执行用户回调后将回到pending状态,否则事件从event_base中移除
创建事件
先看看在源码中对事件状态的和事件类型的宏定义
//event.h
#define EV_TIMEOUT 0x01
#define EV_READ 0x02
#define EV_WRITE 0x04
#define EV_SIGNAL 0x08
#define EV_PERSIST 0x1