epoll_create:创建内核事件表用来存放描述符和事件。它的数据结构为:struct eventpoll。其中包括了两个重要成员,一个是红黑树,也就是内核事件表。另一个重要成员是用于存放就绪事件的队列。
epoll_ctl:红黑树添加节点操作:ep_insert。红黑树移除节点操作:ep_remove。红黑树修改节点操作:ep_modify。每个节点都是一个描述符和事件的结构体。
epoll_wait:负责收集就绪事件。
注意:关于epoll_wait是如何收集就绪事件的,大致是这样一个思路:添加事件和描述符时,注册回调函数。当描述符上有事件就绪时,把描述符和事件添加到队列中。