/* * Constructs a new IRC client on top of hte specified socket and event base. */ irc_client::irc_client (server &srv, struct event_base *evbase, int sock) : srv (srv), log (srv.get_logger ()) { this->evbase = evbase; this->sock = sock; this->bufev = bufferevent_socket_new (evbase, sock, BEV_OPT_CLOSE_ON_FREE); bufferevent_setcb (this->bufev, &hCraft::irc_client::handle_read, &hCraft::irc_client::handle_write, &hCraft::irc_client::handle_event, this); bufferevent_enable (this->bufev, EV_READ | EV_WRITE); this->total_read = 0; this->fail = false; this->connected = false; }