[ 
https://issues.apache.org/jira/browse/GEODE-10096?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17924684#comment-17924684
 ] 

ASF GitHub Bot commented on GEODE-10096:
----------------------------------------

mreddington closed pull request #938: GEODE-10096: Replaced macro definitions 
with enumerations.
URL: https://github.com/apache/geode-native/pull/938




> 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
>            Priority: Major
>              Labels: pull-request-available
>
> In the method TcrConnection::initTcrConnection, the following block of code 
> appears:
> {code:java}
>     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;
>       }
> {code}
> These response codes are unique to the server handshake, and not used 
> anywhere else in the code. We need to remove the #defines for them and put 
> them in a proper enum class.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to