A couple things:
1. Current epoll seems to use EPOLLET in most cases (except for example
the initial DNS connection).
Is this required? It wasn't the case before and it isn't portable.
Was it put in for performance?
libev doesn't support EPOLLET because it isn't portable, and this
requirement would prohibit an
OSX port.
2. libevent is currently between the stable 1.X and a new 2.X-alpha with
a new API. It doesn't seem sensible
to either use the old API which is going away or use alpha code.
I thinking of wrapping the current epoll calls and data structures with
an API and try to make it as compatible
as possible with libev and the new libevent 2.0 API.
If I can get it in decent shape I'll circulate a patch.
john