study libevent