
Libevent is an asynchronous event notification library that provides a mechanism to execute a callback function when a specific event occurs on a file descriptor or after a timeout has been reached.
it is meant to replace the asynchronous event loop found in event driven network servers. currently, libevent supports /dev/poll, kqueue(2), event ports, select(2), poll(2) and epoll(4).
there is now a bufferevent type that supports ssl/tls using the openssl library. the code for this is build in a separate library, libevent_openssl, so that your programs don't need to link against openssl unless they actually want ssl support.