void onConnection(const TcpConnectionPtr& conn) { if (conn->connected()) { //channel_.reset(new RpcChannel(conn)); conn->setTcpNoDelay(true); channel_->setConnection(conn); allConnected_->countDown(); } }
/*************************************************** Description: 处理新的TCP连接或断开 Input: 无 Output: 无 Return: 无 ***************************************************/ void TCPServer::onServerConnection(const TcpConnectionPtr& conn) { conn->setTcpNoDelay(true); LOG_INFO << conn->peerAddress().toIpPort() << " -> " << conn->localAddress().toIpPort() << " is " << (conn->connected() ? "UP" : "DOWN"); if(!conn->connected()) { clearConnectionInfo(conn); } }
void serverConnectionCallback(const TcpConnectionPtr& conn) { LOG_TRACE << conn->name() << " " << conn->peerAddress().toIpPort() << " -> " << conn->localAddress().toIpPort() << " is " << (conn->connected() ? "UP" : "DOWN"); if (conn->connected()) { conn->setTcpNoDelay(true); } else { } }
void clientConnectionCallback(const TcpConnectionPtr& conn) { LOG_TRACE << conn->localAddress().toIpPort() << " -> " << conn->peerAddress().toIpPort() << " is " << (conn->connected() ? "UP" : "DOWN"); if (conn->connected()) { clientConnection = conn; conn->setTcpNoDelay(true); } else { clientConnection.reset(); } }
void onConnection(const TcpConnectionPtr& conn) { LOG_TRACE << conn->localAddress().toIpPort() << " -> " << conn->peerAddress().toIpPort() << " is " << (conn->connected() ? "UP" : "DOWN"); if (conn->connected()) { conn->setTcpNoDelay(true); conn->send(message_); } else { loop_->quit(); } }
void onServerConnection(const TcpConnectionPtr& conn) { LOG_DEBUG << conn->name() << (conn->connected() ? " UP" : " DOWN"); if (conn->connected()) { conn->setTcpNoDelay(true); TunnelPtr tunnel(new Tunnel(g_eventLoop, g_serverAddr, conn)); tunnel->setup(); tunnel->connect(); g_tunnels[conn->name()] = tunnel; } else { std::map<string, TunnelPtr>::iterator it = g_tunnels.find(conn->name()); } }
/*************************************************** Description: 处理新的HBaseProxy连接或者连接断开情况 Input: conn:TCP连接 Output: 无 Return: 无 ***************************************************/ void TCPServer::onHBaseProxyConnection(const TcpConnectionPtr &conn) { if(conn->connected()) { conn->setTcpNoDelay(true); LOG_INFO << "Connect to HBaseProxy successfully"; LocalConnections::instance()[HBase] = conn; //发送以前发送失败的消息 for(Messages::iterator it = UnSendMessages::instance()[HBase].begin(); it != UnSendMessages::instance()[HBase].end(); ++it) { protoCodec_.send(conn, *it); //防止过快发送 usleep(1); } UnSendMessages::instance()[HBase].clear(); } else { LOG_ERROR << "Lost connection to HBaseProxy"; } }
/* * private functions * */ void tcp_server::onConnection(const TcpConnectionPtr& conn) { LOG_DEBUG << "tcp_server - " << conn->peerAddress().toIpPort() << " -> " << conn->localAddress().toIpPort() << " is " << (conn->connected() ? "UP" : "DOWN"); if (conn->connected()) { ++numConnected_; if (numConnected_ > kMaxConnections_) { conn->shutdown(); } else { conn->setTcpNoDelay(true); } } else { --numConnected_; } LOG_DEBUG << "numConnected = " << numConnected_; }