libevent源码分析

来源:互联网 发布:淘宝店铺自己做活动 编辑:程序博客网 时间:2024/06/07 02:40


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         —— log日志函数

9)缓冲区管理:         evbuffer.c、buffer.c —— libevent对缓冲区的封装

10)基本数据结构:   compat\sys下queue.h —— 基本数据结构,链表、双向链表、队列等。

11)实用网络库:       http 和 evdns        —— 是基于libevent实现的http服务器和异步dns查询库。



原创粉丝点击