libevent源碼分析1 ----evnet相關結構體分析

位於代碼event-internal.h中。oop

 

event_base相似事件的集合,你建立一個事件,必須將該事件指定一個集合。指針

struct event_base {
 50     const struct eventop *evsel; /*evsel和evbase就類比與類和對象之間的關係,evbase是evsel的
 51     一個具體實現,指在這裏使用的複用模型*/
 52     void *evbase;
 53     /*這個event_base所關注的事件數目*/
 54     int event_count;        /* counts number of total events */
 55     /*這個event_base中激活事件的數目*/
 56     int event_count_active; /* counts number of active events */
 57     /*判斷循環退出的條件*/
 58     int event_gotterm;      /* Set to terminate loop */
 59     int event_break;        /* Set to terminate loop immediately */
 60
 61     /* active event management */
 62     /*只存事件鏈表,執行存放不一樣優先級事件的鏈,因此使用二級指針,激活事件的鏈表*/
 63     struct event_list **activequeues;
 64     /*事件鏈表的數目,數據是根據優先級來決定的*/
 65     int nactivequeues;
 66
 67     /* signal handling info */
 68     /*處理信號事件的單獨結構體*/
 69     struct evsignal_info sig;
 70     /*存放全部事件的鏈表*/
 71     struct event_list eventqueue;
 72     struct timeval event_tv;
 73     /*管理和超時事件相關的時間小頂堆*/
 74     struct min_heap timeheap;
 75     /*存放時間的時間緩衝*/
 76     struct timeval tv_cache;
 77 };

對象

相關文章
相關標籤/搜索