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 };
libevent源码分析1 ----evnet相关结构体分析的更多相关文章
- [Go] gocron源码阅读-go语言的结构体
结构体类型 type 名字 struct{},下面这段是github.com/urfave/cli包里的代码,声明了一个App的结构体类型 type App struct { // The name ...
- Linux内核device结构体分析
1.前言 Linux内核中的设备驱动模型,是建立在sysfs设备文件系统和kobject上的,由总线(bus).设备(device).驱动(driver)和类(class)所组成的关系结构,在底层,L ...
- FFMPEG结构体分析:AVPacket
注:写了一系列的结构体的分析的文章,在这里列一个列表: FFMPEG结构体分析:AVFrame FFMPEG结构体分析:AVFormatContext FFMPEG结构体分析:AVCodecConte ...
- FFMPEG结构体分析:AVFrame
注:写了一系列的结构体的分析的文章,在这里列一个列表: FFMPEG结构体分析:AVFrameFFMPEG结构体分析:AVFormatContextFFMPEG结构体分析:AVCodecContext ...
- [转载] FFMPEG结构体分析:AVFrame
注:写了一系列的结构体的分析的文章,在这里列一个列表: FFMPEG结构体分析:AVFrameFFMPEG结构体分析:AVFormatContextFFMPEG结构体分析:AVCodecContext ...
- FFMPEG结构体分析:AVFormatContext
注:写了一系列的结构体的分析的文章,在这里列一个列表: FFMPEG结构体分析:AVFrameFFMPEG结构体分析:AVFormatContextFFMPEG结构体分析:AVCodecContext ...
- FFMPEG结构体分析:AVStream
注:写了一系列的结构体的分析的文章,在这里列一个列表: FFMPEG结构体分析:AVFrame FFMPEG结构体分析:AVFormatContext FFMPEG结构体分析:AVCodecConte ...
- FFMPEG结构体分析:AVCodec
注:写了一系列的结构体的分析的文章,在这里列一个列表: FFMPEG结构体分析:AVFrame FFMPEG结构体分析:AVFormatContext FFMPEG结构体分析:AVCodecConte ...
- FFMPEG结构体分析:AVIOContext
注:写了一系列的结构体的分析的文章,在这里列一个列表: FFMPEG结构体分析:AVFrame FFMPEG结构体分析:AVFormatContext FFMPEG结构体分析:AVCodecConte ...
随机推荐
- ZK配置文件
The number of milliseconds of each tick, 最小时间单位,很多运行时的时间 #间隔都是使用tickTime的倍数来表示的,例如initLimit=10就是tick ...
- SpringMVC08AnnotationException 注解异常
1.配置web.xml文件 <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3// ...
- 谷歌地图自定义popup框
谷歌地图的infowindow 不提供官方的定制化 <!DOCTYPE html> <html> <head> <meta name="viewpo ...
- VS2008 Pocket PC 2003 SE VGA仿真程序网络设置
最近对这个问题摸索的很久,都没有解决,今天终于搞定,现将大体设置步骤记录下来,以备回顾和方便别人查看,步骤如下: 1.打开VS2008,打开Windows Mobile设备中心(网上有下载). 2.连 ...
- 个人整理的jsp、EL表达式、JSTL标签库的笔记,少概念多实用,需要的留下邮箱,会第一时间分享原稿PDF给大家!
jsp 第一章 jsp介绍及对比servlet 作用: 动态网页技术,动态的从数据库获取数据 jsp和servlet的优缺点: jsp优点:页面表现方便,利于写html代码 jsp缺点:业务逻辑处理麻 ...
- angular 学习笔记(3) ng-repeat遍历json并且给样式
视图: <div ng-app="myapp" ng-controller="myctrl"> <ul> <li ng-repea ...
- Google pieCharts的学习
在公司项目开发过程中, 尤其是在网站的开发过程中,用到很多的前端的插件,在这里, 我简单介绍下近期Google pieCharts的是使用方法 https://developers.google.co ...
- zabbix-3.4 触发器
3 触发器 概述 触发器是"评估"由项目采集的数据并表示当前系统状况的逻辑表达式. 当监控项用于采集系统的数据时,始终遵循这些数据是非常不切合实际的,因为这些数据始终在等待一个令人 ...
- ubuntu14.04安装gradle
一.下载gradle $ wget https:////services.gradle.org/distributions/gradle-3.5.1-all.zip $ sudo unzip grad ...
- HDU 2191 悼念汶川地震(多重背包)
思路: 多重背包转成01背包,怎么转?把一种大米看成一堆单个的物品,每件物品要么装入,要么不装.复杂度比01背包要大.时间复杂度为O(vns)(这里S是所有物品的数量s之和).这个做法太粗糙了,但就是 ...