现在的位置: 首页 > 综合 > 正文

Redis源码学习之【epoll封装】

2013年06月19日 ⁄ 综合 ⁄ 共 441字 ⁄ 字号 评论关闭

介绍

在上一篇博文中说到了在Redis 的事件处理中使用到了底层的linux epoll,根据Redis的实现可以使用其他的多路通信层,但是在一般的linux服务器中使用的最多的还是epoll所以这里主要介绍一下epoll。Redis并没有直接的使用linux的epoll而是对其进行了一个简单的封装。

源码

ae_epoll.c

分析

在原有的linux epoll的基础上进行封装,主要封装了一下几个函数:

aeApiCreate:调用epoll_create创建epoll的句柄,并分配epoll事件。

aeApiFree:调用close关闭epoll_create创建的epoll句柄,并释放epoll事件。

aeApiAddEvent:调用epoll_ctl向aeEventLoop中添加一个事件。

aeApiDelEvent:调用epoll_ctl从aeEventLoop中删除一个事件。
aeApiPoll:调用epoll_wait等待事件。

具体的关于epoll的介绍可以参见博文:点击打开链接

抱歉!评论已关闭.