From d06e71708de18c9fd5a1e04e993e99b5aa7030e6 Mon Sep 17 00:00:00 2001 From: hankunming Date: Wed, 9 Feb 2022 10:33:48 +0800 Subject: [PATCH] add setting lient language version c interface for Python sdk --- include/CProducer.h | 3 +++ include/CPullConsumer.h | 2 ++ include/CPushConsumer.h | 1 + src/common/MQVersion.cpp | 4 ++++ src/common/MQVersion.h | 1 + src/extern/CProducer.cpp | 6 ++++++ src/extern/CPullConsumer.cpp | 6 ++++++ src/extern/CPushConsumer.cpp | 6 ++++++ src/transport/ClientRemotingProcessor.cpp | 3 ++- 9 files changed, 31 insertions(+), 1 deletion(-) diff --git a/include/CProducer.h b/include/CProducer.h index 296b13f71..2aac6f459 100644 --- a/include/CProducer.h +++ b/include/CProducer.h @@ -103,6 +103,9 @@ ROCKETMQCLIENT_API int SendMessageTransaction(CProducer* producer, CLocalTransactionExecutorCallback callback, void* userData, CSendResult* result); + +ROCKETMQCLIENT_API int SetProducerLanguage(CProducer* producer, + const char* language); #ifdef __cplusplus } #endif diff --git a/include/CPullConsumer.h b/include/CPullConsumer.h index 60a33679d..db75a9e8e 100644 --- a/include/CPullConsumer.h +++ b/include/CPullConsumer.h @@ -57,6 +57,8 @@ ROCKETMQCLIENT_API CPullResult Pull(CPullConsumer* consumer, const CMessageQueue* mq, const char* subExpression, long long offset, int maxNums); ROCKETMQCLIENT_API int ReleasePullResult(CPullResult pullResult); +ROCKETMQCLIENT_API int SetPullConsumerLanguage(CPullConsumer* pullConsumer, const char* language); + #ifdef __cplusplus } #endif diff --git a/include/CPushConsumer.h b/include/CPushConsumer.h index 5ed83f3a7..112389a46 100644 --- a/include/CPushConsumer.h +++ b/include/CPushConsumer.h @@ -60,6 +60,7 @@ ROCKETMQCLIENT_API int SetPushConsumerMessageModel(CPushConsumer* consumer, CMes ROCKETMQCLIENT_API int SetPushConsumerMaxCacheMessageSize(CPushConsumer* consumer, int maxCacheSize); ROCKETMQCLIENT_API int SetPushConsumerMaxCacheMessageSizeInMb(CPushConsumer* consumer, int maxCacheSizeInMb); ROCKETMQCLIENT_API int SetPushConsumerMessageTrace(CPushConsumer* consumer, CTraceModel openTrace); +ROCKETMQCLIENT_API int SetPushConsumerLanguage(CPushConsumer* consumer, const char* language); #ifdef __cplusplus } diff --git a/src/common/MQVersion.cpp b/src/common/MQVersion.cpp index 5c0c78963..3f2fb2068 100644 --- a/src/common/MQVersion.cpp +++ b/src/common/MQVersion.cpp @@ -31,5 +31,9 @@ const char* MQVersion::GetVersionDesc(int value) { } return RocketMQCPPClientVersion[currentVersion]; } + +const void MQVersion::SetCurrentLanguage(const char* language) { + MQVersion::s_CurrentLanguage = language; +} //setMessageTrace(messageTrace); return OK; } + +int SetPushConsumerLanguage(CPushConsumer * consumer, const char* language) { + MQVersion::SetCurrentLanguage(language); + return OK; +} #ifdef __cplusplus }; #endif diff --git a/src/transport/ClientRemotingProcessor.cpp b/src/transport/ClientRemotingProcessor.cpp index 2c67a0c44..1fcf40511 100644 --- a/src/transport/ClientRemotingProcessor.cpp +++ b/src/transport/ClientRemotingProcessor.cpp @@ -19,6 +19,7 @@ #include "ConsumerRunningInfo.h" #include "MQClientFactory.h" #include "UtilAll.h" +#include "MQVersion.h" namespace rocketmq { @@ -111,7 +112,7 @@ RemotingCommand* ClientRemotingProcessor::getConsumerRunningInfo(const string& a LOG_INFO("getConsumerRunningInfo:%s", requestHeader->getConsumerGroup().c_str()); RemotingCommand* pResponse = - new RemotingCommand(request->getCode(), "CPP", request->getVersion(), request->getOpaque(), request->getFlag(), + new RemotingCommand(request->getCode(), MQVersion::s_CurrentLanguage, request->getVersion(), request->getOpaque(), request->getFlag(), request->getRemark(), NULL); unique_ptr runningInfo(