Как бы я создал отложенное выполнение кода или событий тайм-аута, используя epoll
?И libevent, и libev обладают функциональностью, но я не могу понять, как это сделать с помощью epoll.
В настоящее время основной цикл выглядит следующим образом:
epoll_ctl(epfd, EPOLL_CTL_ADD, client_sock_fd, &epev);
while(1) {
int nfds = epoll_wait(epfd, &epev, 1, 10);
if (nfds < 0) exit(EXIT_FAILURE);
if (nfds > 0) {
// If an event has been recieved
}
// Do this every 10ms
}
Я хорошо знаю, что этофункциональность может быть достигнута простым добавлением количества прошедшего времени, но использование epoll кажется более чистым решением.