epoll wrapper, draft