bool Transporter::connect_client() { NDB_SOCKET_TYPE sockfd; DBUG_ENTER("Transporter::connect_client"); if(m_connected) DBUG_RETURN(true); if(isMgmConnection) { sockfd= m_transporter_registry.connect_ndb_mgmd(m_socket_client); } else { if (!m_socket_client->init()) DBUG_RETURN(false); if (pre_connect_options(m_socket_client->m_sockfd) != 0) DBUG_RETURN(false); if (strlen(localHostName) > 0) { if (m_socket_client->bind(localHostName, 0) != 0) DBUG_RETURN(false); } sockfd= m_socket_client->connect(); } DBUG_RETURN(connect_client(sockfd)); }
bool Transporter::connect_client() { NDB_SOCKET_TYPE sockfd; DBUG_ENTER("Transporter::connect_client"); if(m_connected) DBUG_RETURN(true); int port = m_s_port; if (port<0) { // The port number is stored as negative to indicate it's a port number // which the server side setup dynamically and thus was communicated // to the client via the ndb_mgmd. // Reverse the negative port number to get the connectable port port= -port; } if(isMgmConnection) { sockfd= m_transporter_registry.connect_ndb_mgmd(remoteHostName, port); } else { if (!m_socket_client->init()) DBUG_RETURN(false); if (pre_connect_options(m_socket_client->m_sockfd) != 0) DBUG_RETURN(false); if (strlen(localHostName) > 0) { if (m_socket_client->bind(localHostName, 0) != 0) DBUG_RETURN(false); } sockfd= m_socket_client->connect(remoteHostName, port); } DBUG_RETURN(connect_client(sockfd)); }