void Router::start() { pEventLoop = new EventLoop(); //create Router server Config *pConfig = Config::getInstance(); pServer = new Server(pEventLoop); pServer->setConnectionHandler(EV_IO_CB(this, Router::onConnection)); if(pServer->createTcpServer(pConfig->nPort) != 0){ LOG("create router server failed, errno=%d, error=%s", errno, strerror(errno)); return; } //set title char title[256]; snprintf(title, 256, "fooking router server, %s", pConfig->sFile.c_str()); utils::setProcTitle(title); //start LOG("router server started, listening port=%d", pConfig->nPort); pServer->start(); pEventLoop->run(); }
void Connection::initSocket() { sSocket.setNonDelay(); sSocket.setKeepAlive(); pEventLoop->addEventListener(sSocket.getFd(), EV_IO_READ, EV_IO_CB(this, Connection::onRead), NULL); }