network base with libevent