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

  • 相关阅读:
    VM启用ISO共享
    部署服务--NLB
    SCVMM问题汇总
    判断文件是否存在(exist)
    函数(Function)作用域 / 远程函数执行
    基于433MHz无线串口,多发一收解决方案
    ZigBee自组网地址分配与路由协议概述
    Zigbee协议栈--Z-Stack的使用
    RT-Thread RTOS
    信息量、互斥信息量和事件标志
  • 原文地址:https://www.cnblogs.com/haoxing990/p/6880379.html
Copyright © 2011-2022 走看看