分类 源码 下的文章

简介

AE 事件库是 Redis 用来处理 IO 事件的库,根据系统的不同选用尽可能高效率的 IO 实现,在 ae.c 中使用条件编译根据系统支持的多路复用器(multiplexing)来选用相应的文件,其按优先级排序为:

  1. evport - ae_evport.c
  2. epoll - ae_epoll.c
  3. kqueue - ae_kqueue.c
  4. select - ae_select.c

在各个源文件中实现了 ae 库基本操作的统一接口,使得实际的实现代码得以相同。

在本次分享中,我准备先对 ae.h 进行阅读,也即大概了解 ae 事件库完成后所提供的接口,然后对 ae_epoll.c 的 api 实现进行阅读。

在文末我也简单总结了我个人从这两个文件所看出的事件库的设计。

- 阅读剩余部分 -