[
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)