libevent源码分析之目录结构说明

一、概述

1、目录分类:

  • 头文件:分为提供给外部使用的头文件、内部使用的头文件。
  • reactor框架:包括事件的定义、事件的监听和触发、定时器功能。
  • io多路复用封装:包括select、poll、epoll、iocp、kqueue等。
  • socket、收发缓冲区封装:网络缓冲区evbuffer实现,bufferevent管理了socket和网络缓冲区。
  • 基础数据结构:链表、最小堆、红黑树、哈希表等。
  • dns、http库:基于libevent实现。
  • 其他:辅助功能函数、日志。

2、具体文件说明
1)外部头文件
包括根目录下的废弃头文件、兼容性头文件(以_compat结尾)以及event2下的新版本头文件。

2)内部头文件
所有根目录的内部头文件,格式为xxx-internal.h。

3)reactor框架
包括event.c、evmap.c等。

4)io多路复用封装
包括select.c、win32select.c、poll.c、epoll.c、kqueue.c、devpoll.c、evport.c、signal.c等。

5)socket、缓冲区封装
包括buffer.c、bufferevent.c、bufferevent_xxx.c、listener.c等。

6)基础数据结构
包括compat/sys/queue.h、minheap-internal.、WIN32-Code/tree.hh、ht-internal.h等。

7)http、dns库
包括http.c、evrpc.c、evdns.c等

8)其他
包括evutil.c、evutil_rand.c、strlcpy.c、log.c等。

二、详细目录结构

event.h //包含了主要的头文件,已废弃。新的头文件在event2/event*.h, event2/buffer*.h, event2/bufferevent*.h, 
evutil.h //已废弃的头文件,新的头文件在event2/util*.h
evhttp.h //废弃的文件头,新的在event2/http*.h
evdns.h //废弃的文件头,新的头文件在event2/dns*.h

event-internal.h event_base结构体定义,一些常量和配置定义,还有一些函数接口
evmap-internal.h //evmap相关接口声明
evbuffer-internal.h //evbuffer结构体定义和接口声明
bufferevent-internal.h bufferevent相关的结构体定义和接口声明

iocp-internal.h 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值