a simple version of libev, only io event