libevent源码深度剖析四
2011年12月19日
libevent源码深度剖析四
――libevent源代码文件组织
1 前言
详细分析源代码之前,如果能对其代码文件的基本结构有个大概的认识和分类,对于代码的分析将是大有裨益的。本节内容不多,我想并不是说它不重要!
2 源代码组织结构
Libevent的源代码虽然都在一层文件夹下面,但是其代码分类还是相当清晰的,主要可分为头文件、内部使用的头文件、辅助功能函数、日志、 libevent框架、对系统I/O多路复用机制的封装、信号管理、定时事件管理、缓冲区管理、基本数据结构和基于libevent的两个实用库等几个部分,有些部分可能就是一个源文件。
源代码中的test部分就不在我们关注的范畴了。
1)头文件
主要就是event.h:事件宏定义、接口函数声明,主要结构体event的声明;
2)内部头文件
xxx-internal.h:内部数据结构和函数,对外不可见,以达到信息隐藏的目的;
3)libevent框架
event.c:event整体框架的代码实现;
4)对系统I/O多路复用机制的封装
epoll.c:对epoll的封装;
select.c:对select的封装;
devpoll.c:对dev/poll的封装;
kqueue.c:对kqueue的封装;
5)定时事件管理
min-heap.h:其实就是一个以时间作为key的小根堆结构;
6)信号管理
signal.c:对信号事件的处理;
7)辅助功能函数
evutil.h 和evutil.c:一些辅助功能函数,包括创建socket pair和一些时间操作函数:加、减和比较等。
8)日志
log.h和log.c:log日志函数
9)缓冲区管理
evbuffer.c和buffer.c:libevent对缓冲区的封装;
10)基本数据结构
compat/sys下的两个源文件:queue.h是libevent基本数据结构的实现,包括链表,双向链表,队列等;_libevent_time.h:一些用于时间操作的结构体定义、函数和宏定义;
11)实用网络库
http和evdns:是基于libevent实现的http服务器和异步dns查询库;
3 小结
本节介绍了libevent的组织和分类,下面将会详细介绍libevent的核心部分event结构。
发表评论
-
20111105晚7点40分至8点20分之间经历死亡飞车
2012-01-20 11:59 67020111105晚7点40分至8点20分之间经历死亡飞车 2 ... -
选择题
2012-01-19 16:48 834选择题 2011年10月20日 1、根据加工零件图样选定 ... -
C语言试题3
2012-01-19 16:48 803C语言试题3 2010年12月19日 选择题(20分): ... -
Boost源码剖析 C++泛型函数指针类
2012-01-19 16:48 789Boost源码剖析 C++泛型函数指针类 2010年07月0 ... -
各种常用信号电平 (pic)
2012-01-19 16:47 1134各种常用信号电平 (pic) ... -
给大学生学习ARM和FPGA的建议(转)
2012-01-17 06:32 604给大学生学习ARM和FPGA的 ... -
valgrind结果查看
2012-01-17 06:32 879valgrind结果查看 2011年12月30日 程序示 ... -
教大家S40/java所有玩机技巧,喜欢请转载 加QQ657752021学习更多技术
2012-01-17 06:32 524教大家S40/java所有玩机 ... -
越南女性生存现状调查报告
2012-01-16 05:13 1189越南女性生存现状调查报告 2011年03月29日 越南 ... -
恭喜赵薇成为2011年合肥金鸡百花电影节形象代言人并演唱主题曲
2012-01-16 05:13 833恭喜赵薇成为2011年合肥金鸡百花电影节形象代言人并演唱主题曲 ... -
四(4)寒假作业
2012-01-16 05:13 721四(4)寒假作业 2012年01 ... -
一切都是那样的Fake
2012-01-16 05:12 535一切都是那样的Fake 2012 ...
相关推荐
libevent源码深度剖析 libevent源码深度剖析 libevent源码深度剖析 libevent源码深度剖析 libevent源码深度剖析
libevent库,文字版,很清晰,附带libevent参考手册(中文版) libevent源码深度剖析,根据libevent开源代码框架进行剖析,很不错值得学习借鉴,还有libevent中C语言的功底值得学习揣摩!
为方便阅读,把blog上的libevent源码深度剖析系列文章整合成一个pdf。
libevent参考手册(中文版) + libevent源码深度剖析 zszszs
libevent 源码深度剖析.pdf libevent 源码 深度 剖析 pdf
libevent源码深度剖析:主要介绍libevent框架,以及重要流程.
作者连接为http://blog.csdn.net/luotuo44/article/category/2435521/2 本人为方便今后的学习和记录,将网页内容复制做成PDF文档,希望作者不要介意
libevent资源合集,包括libevnet深入浅出,文字版PDF。libevent参考手册,文字版PDF。libevent源码深度剖析,文字版PDF。基于libevent打车移动解决方案,libevent实战项目。学习libevent可以下载参考学习。
Libevent源码解析.pdf
深入学习linevent
详细了解网络编程底层核心内容,了解内部机制及原理
文件为参考《libevent中文参考手册》以及《libevent源码深度剖析》(张亮)总结的libevent的学习资料。
1.前言详细分析源代码之前,如果能对其代码文件的基本结构有个大概的认识和分类,对于代码的分析将是大有裨益的。本节内容不多,我想并不是说它不重要!2. 源代码组织
自己学完之后有很大提高,希望能帮到大家
1. 初始化检测 2. 时间缓存 3. 时间校正 4. 小节
1. 统一的关键 2. 设置I/O demultiplex机制 3. 小节