zoukankan      html  css  js  c++  java
  • libevent源码分析1 ----evnet相关结构体分析

    位于代码event-internal.h中。

    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 };

  • 相关阅读:
    OO术语表
    linux之用户管理(useradd/usermod/userdel/groupadd/groupmod/groupdel)
    Linux 线程绑核
    g++中数组定义时长度可以使用变量
    水滴石穿之C语言的底层操作(移位操作有效位数)
    ACE
    Oracle优化器介绍
    SQL优化工具
    Oracle Index 索引介绍(SQL)
    VC6.0:"Setup was unable to create a DCOM user account"的解决方案
  • 原文地址:https://www.cnblogs.com/haoxing990/p/6880379.html
Copyright © 2011-2022 走看看