libevent从入门到掌握<二> 一、案例说明API及调用顺序为: event_base()初始化event_base event_set()初始化eventevent_base_set()将event绑定到指定的event_base上event_add()将event添加到事件链表上,注…
event_set(&evtimer, -1, EV_PERSIST, do_timer, &evtimer); // tv 为超时时间 event_base_set(base, &evtimer); event_add(&evtimer, &tv); /* 信号事件 */ struct event evint; event_set(&evint, SIGINT, EV_SIGNAL, do_sig_int, &evint); event_base_set(base, &evint); event_add(&...
voidevent_set(structevent*ev,intfd,shortevents,void(*callback)(int,short,void*),void*arg) {/*Take the current base - caller needs to set the real base later*/ev->ev_base = current_base;//设置event属于当前base;current_base通过event_init()设置ev->ev_callback = callback;//设置回调函...
EVENT_BASE_FLAG_IGNORE_ENV标志首次出现在 Libevent 2.0.2-alpha 中。 EVENT_BASE_FLAG_PRECISE_TIMER标志首次出现在 Libevent 中 2.1.2-阿尔法。event_config_set_num_cpus_hint() 函数是 Libevent 中的新函数 2.0.7-rc 和 event_config_set_max_dispatch_interval() 是 2.1.1-alpha 中的新功能。 本节...
(1)event_base_new() //初始化一个event_base (2)event_set() //初始化一个event(事件)结构体,设置事件的文件描述符、事件类型(读IO事件或者写IO事件等)、事件被触发后的回调函数、回调函数的参数 (3)event_base_set() //给事件设置相应的event_base ...
00. 目录01. 简介02. 创建默认的event_base03. 创建复杂的event_base 3.1 event_config_new函数 3.2 event_base_new_with_config函数 3.3 event_config_free函数 3.4 event_config_avoid_method函数 3.5 event_config_require_features函数 3.6 event_config_set_flag函数 ...
event_config_set_flag()可识别的选项值有: vEVENT_BASE_FLAG_NOLOCK:不要为event_base分配锁。设置这个选项可以为event_base节省一点用于锁定和解锁的时间,但是让在多个线程中访问event_base成为不安全的。 vEVENT_BASE_FLAG_IGNORE_ENV:选择使用的后端时,不要检测EVENT_*环境变量。使用这个标志需要三思:这会让...
1.2 event_set() 事件定义 event_set来设置event对象,包括所有者event_base对象, fd, 事件(EV_READ| EV_WRITE), 回掉函数和参数,事件优先级是当前event_base的中间级别(current_base->nactivequeues/2). event对象的定义见下: struct event { TAILQ_ENTRY (event) ev_next; ...
1. 事件处理框架1.1 event_init() 初始化 首先要隆重介绍event_base对象: struct event_base { const struct eventop *evsel; void *evbase; int event_count; /* counts number of total events */ int event_count_active; /* counts number of active events */ int event_gotterm; /* Set to term...
一、创建event_base struct event_base * main_base = event_base_new(void); 主要是根据参数,创建event_base结构体,然后初始化一些数据,如果对默认的参数不满意需要个性化配置的话,可以先创建event_config,然后调用event_base_new_with_config来创建。其中在eventops这个变量中,按照优先级顺序排序罗列了常见的IO复...