一、libevent编程步骤
0、分配并初始化event_base,两种方法
0.1 event_base_new:线程安全,代替event_init;
0.2 event_init:线程不安全,不推荐使用,仅仅是为了向后兼容
1、创建event,设置event的回调函数,加入event_base,两种方法
1.1 event_new:函数内部分配event,并加入参数指定的event_base中;
1.2 event_set + event_base_set:函数外创建好event,作为参数传给event_set中current_base(一个全局event_base),然后通过event_base_set来将current_base改为参数指定的event_base
2、将事件添加到待处理事件集合中
event_add
3、开始事件循环,两种方法
event_base_dispatch或event_base_loop;
event_base_dispatch是对event_base_loop的简单封装
4、IO缓冲的使用
4.1 在开始事件循环之前,创建bufferevent,加入event_base中,并设置读写超时
bufferevent_new —>bufferevent_base_set —>bufferevent_