08.webserver源码阅读--epoller

00.webserver源码阅读--buffer - DavidJIAN - 博客园 (cnblogs.com)

01.webserver源码阅读--BlockQueue - DavidJIAN - 博客园 (cnblogs.com)

02.webserver源码阅读--log - DavidJIAN - 博客园 (cnblogs.com)

03.webserver源码阅读--threadPool - DavidJIAN - 博客园 (cnblogs.com)

04.webserver源码阅读--sqlConnPool - DavidJIAN - 博客园 (cnblogs.com)

05.webserver源码阅读--sqlConnRAII - DavidJIAN - 博客园 (cnblogs.com)

06.webserver源码阅读--timer - DavidJIAN - 博客园 (cnblogs.com)

07.webserver源码阅读--httpXXX - DavidJIAN - 博客园 (cnblogs.com)

epoller

这个类主要是对epoll的函数组进行封装。

epoller成员函数

  • 构造函数

    • 用epoll_create初始化epoll_fd
    • 用传入的参数max_event,初始化events数组大小
  • 析构函数

    • close(epoll_fd)
  • add_fd、mod_fd、del_fd

    • 这三个函数都是对epoll_ctl函数的封装
  • wait

    • 对epoll_wait函数的封装
  • get_event_fd

    • 获取events数组的第i个元素的fd
  • get events

    • 获取events数组的第i个元素的epoll_event

epoller成员变量

  • epoll_fd
    • 指向epoll_create返回的epoll实例的文件描述符
  • events
    • 存放epoll_event结构体的vector,当调用epoll_wait函数时,只需对vector的第一个元素进行取址传入即可。
posted @ 2023-01-10 15:36  DavidJIAN  阅读(21)  评论(0)    收藏  举报