Blake Bender created GEODE-10096: ------------------------------------ Summary: Handshake "acceptance codes" should be an enum class Key: GEODE-10096 URL: https://issues.apache.org/jira/browse/GEODE-10096 Project: Geode Issue Type: Improvement Components: native client Reporter: Blake Bender
In the method `TcrConnection::initTcrConnection`, the following block of code appears: ``` switch (acceptanceCode[0]) { case REPLY_OK: case SUCCESSFUL_SERVER_TO_CLIENT: LOGFINER("Handshake reply: %u,%u,%u", acceptanceCode[0], serverQueueStatus[0], recvMsgLen2); if (isClientNotification) readHandshakeInstantiatorMsg(connectTimeout); break; case REPLY_AUTHENTICATION_FAILED: { AuthenticationFailedException ex( reinterpret_cast<char*>(recvMessage.data())); m_conn.reset(); throwException(ex); } case REPLY_AUTHENTICATION_REQUIRED: { AuthenticationRequiredException ex( reinterpret_cast<char*>(recvMessage.data())); m_conn.reset(); throwException(ex); } case REPLY_DUPLICATE_DURABLE_CLIENT: { DuplicateDurableClientException ex( reinterpret_cast<char*>(recvMessage.data())); m_conn.reset(); throwException(ex); } case REPLY_REFUSED: case REPLY_INVALID: case UNSUCCESSFUL_SERVER_TO_CLIENT: { LOGERROR("Handshake rejected by server[%s]: %s", m_endpointObj->name().c_str(), reinterpret_cast<char*>(recvMessage.data())); auto message = std::string("TcrConnection::TcrConnection: ") + "Handshake rejected by server: " + reinterpret_cast<char*>(recvMessage.data()); CacheServerException ex(message); m_conn.reset(); throw ex; } ``` These response codes are unique to the server handshake, and not used anywhere else in the code. We need to remove the `#define`s for them and put them in a proper `enum class`. -- This message was sent by Atlassian Jira (v8.20.1#820001)