It hides the fact that with epoll() you need to set/unset FD flags, while with kqueue() you add/remove, and select()/poll() have not state whatsoever.
But that's exactly what the multiplexer abstracts.
Furthermore, while for the moment only FD events and timers are supported, I'm planning to add at least two more: signals and file change notification.
Ok, but I think I'm not the only person that just wants a portable interface to event-driven IO for sockets with minimal overhead.
As for the timers, you're not forced to use them, although when working with the non-blocking sockets IMO they're essential.
For HTTP servers it makes more sense to clean up any timed out connections in the server loop. I suspect that's the case with servers for most other protocols. Is there a difference for clients?
Before we get any further, I'd like to see example code of how the event loop and timers work (documentation might help too). Maybe I'm misunderstanding something.
Vladimir
-- Stelian Ionescu a.k.a. fe[nl]ix Quidquid latine dictum sit, altum videtur. http://common-lisp.net/project/iolib
IOLib-devel mailing list IOLib-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/iolib-devel