libevent 源码学习四 —— 源代码文件组织

前言 : 详细分析源代码之前,应该对其代码文件的基本结构有个大概的认识和分类。 源代码组织结构: libevent源代码主要可分为:头文件、内部使用的头文件、辅助功能函数、日志、libevent框架、对系统 I/O 多路复用机制的封装、信号管理、定时事件管理、缓冲区管理、基本数据结构和基于 libevent 的两个实用库。 1 头文件 主要就是 event.h : 事件宏定义、接口函数声明、主要结构体 event 的声明; 2 内部头文件 xxx-internal.h : 内部数据结构和函数,对外不可见,以达到信息隐藏的目的; 3 libevent 框架 event.c :event 整体框架的代码实现 4 对系统 I/O 多路复用机制的封装 epoll.c 、select.c 、 devpoll.c、kqueue.c 5 定时事件管理 min-heap.h : 以时间作为key的小根堆结构 6 信号管理 signal.c :对信号事件的处理 7 辅助功能函数 evutil.h 和 evutil.c :一些辅助功能函数,包括创建 socket pair 和一些时间操作函数 8 日志 log.h 和 log.c 9 缓冲区管理 evbuffer.c 和 buffer.c :libevent 对缓冲区的封装 10 基本数据结构 compat / sys 下的两个源文件 : queue.h 是 libevent 基本数据结构的实现,包括链表,双向链表,队列等 _libevent_time.h : 一些用于时间操作的结构体定义、函数和宏定义 11 使用网络库 http 和 evdns : 是基于libevent 实现的 http 服务器 和异步 dns 查询库
原文地址:https://www.cnblogs.com/sanerer/p/10711311.html