void LibEventMain::errorfn(bufferevent *bev, short int error, void *arg) { INFO_OUT("Errorfn: %x\n", error); if (error & BEV_EVENT_CONNECTED) { bufferevent_setwatermark(bev, EV_READ, 0, max_buff); bufferevent_enable(bev, EV_READ | EV_WRITE); EventHandler *p = (EventHandler *) arg; if (p) { p->enable(); } } // if error & BEV_EVENT_EOF, BEV_EVENT_ERROR, BEV_EVENT_TIMEOUT if ((error & BEV_EVENT_ERROR) || (error & BEV_EVENT_EOF) || (error & BEV_EVENT_TIMEOUT)) { bufferevent_free(bev); } }