libevent源代码文件组织
来源:互联网 发布:乐创圣衣神话淘宝 编辑:程序博客网 时间:2024/04/29 09:55
——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结构- libevent源代码文件组织
- libevent源代码文件组织
- libevent源码分析之源代码文件组织
- libevent部分源代码笔记 .
- libevent源代码结构
- libevent---源代码结构
- libevent源代码分析--libevent核心event
- Libevent源代码分析笔记一,初见libevent
- libevent源代码分析--libevent核心event
- libevent-1.1a源代码分析
- libevent源代码分析之优先级
- Libevent源代码学习笔记1
- libevent源代码分析--buffer的使用
- Libevent源代码分析笔记二,初始化
- libevent源代码分析--event_dispatch() (一)
- libevent源代码分析——event_dispatch() (二)
- 读libevent源代码-为何要使用syscall
- libevent源代码分析-介绍、安装、使用
- NFCIP-1协议命令集(NFCIP-1 Protocol Command Set)
- doubling algorithm 构建后缀数组 code
- “笔记本按键掉落”处理
- 用scp命令向服务器上传文件/文件夹
- 主动模式和被动模式下激活协议的流程
- libevent源代码文件组织
- 内核版本升级和添加Linux系统调用
- iframe获取父、子窗口元素的方法
- Android 权限大全
- 购买CPU要注意些什么?
- oled屏资料1
- 在label上画线
- 网站流量的高低究竟与alexa排名有什么关系呢?
- 我在南大的七年