From bc27d245b1c2a2dd071084c32a6cb4d8b412aeb3 Mon Sep 17 00:00:00 2001 From: yihaoDeng Date: Wed, 6 Sep 2023 21:54:31 +0800 Subject: [PATCH] add rpc update interface --- include/libs/transport/trpc.h | 1 + source/dnode/mgmt/node_mgmt/src/dmTransport.c | 10 +++++++++- source/libs/transport/inc/transComm.h | 2 ++ source/libs/transport/src/trans.c | 2 ++ source/libs/transport/src/transSvr.c | 1 - 5 files changed, 14 insertions(+), 2 deletions(-) diff --git a/include/libs/transport/trpc.h b/include/libs/transport/trpc.h index e5955aad54..1509b51424 100644 --- a/include/libs/transport/trpc.h +++ b/include/libs/transport/trpc.h @@ -162,6 +162,7 @@ int rpcSendRequestWithCtx(void *thandle, const SEpSet *pEpSet, SRpcMsg *pMsg, int rpcSendRecv(void *shandle, SEpSet *pEpSet, SRpcMsg *pReq, SRpcMsg *pRsp); int rpcSetDefaultAddr(void *thandle, const char *ip, const char *fqdn); void *rpcAllocHandle(); +void rpcSetIpWhite(void *thandl, void *arg); #ifdef __cplusplus } diff --git a/source/dnode/mgmt/node_mgmt/src/dmTransport.c b/source/dnode/mgmt/node_mgmt/src/dmTransport.c index 665f86034d..c09e9e4fdf 100644 --- a/source/dnode/mgmt/node_mgmt/src/dmTransport.c +++ b/source/dnode/mgmt/node_mgmt/src/dmTransport.c @@ -63,6 +63,12 @@ static void dmConvertErrCode(tmsg_t msgType) { terrno = TSDB_CODE_VND_STOPPED; } } +static void dmUpdateRpcIpWhite(SRpcMsg *pRpc) { + SUpdateIpWhite ipWhite; + tDeserializeSUpdateIpWhite(pRpc->pCont, pRpc->contLen, &ipWhite); + + tFreeSUpdateIpWhiteReq(&ipWhite); +} static void dmProcessRpcMsg(SDnode *pDnode, SRpcMsg *pRpc, SEpSet *pEpSet) { SDnodeTrans *pTrans = &pDnode->trans; int32_t code = -1; @@ -96,7 +102,9 @@ static void dmProcessRpcMsg(SDnode *pDnode, SRpcMsg *pRpc, SEpSet *pEpSet) { if (pEpSet != NULL) { dmSetMnodeEpSet(&pDnode->data, pEpSet); } - break; + case TDMT_MND_RETRIEVE_IP_WHITE_RSP: { + dmUpdateRpcIpWhite(pRpc); + } break; default: break; } diff --git a/source/libs/transport/inc/transComm.h b/source/libs/transport/inc/transComm.h index 17ef6ce530..2d5a18fcc0 100644 --- a/source/libs/transport/inc/transComm.h +++ b/source/libs/transport/inc/transComm.h @@ -29,6 +29,8 @@ extern "C" { #include "ttrace.h" #include "tutil.h" +typedef bool (*FilteFunc)(void* arg); + typedef void* queue[2]; /* Private macros. */ #define QUEUE_NEXT(q) (*(queue**)&((*(q))[0])) diff --git a/source/libs/transport/src/trans.c b/source/libs/transport/src/trans.c index ed94521df0..4875bce1b1 100644 --- a/source/libs/transport/src/trans.c +++ b/source/libs/transport/src/trans.c @@ -183,6 +183,8 @@ int rpcSetDefaultAddr(void* thandle, const char* ip, const char* fqdn) { return transSetDefaultAddr(thandle, ip, fqdn); } +void rpcSetIpWhite(void* thandl, void* arg) { return ; } + void* rpcAllocHandle() { return (void*)transAllocHandle(); } int32_t rpcInit() { diff --git a/source/libs/transport/src/transSvr.c b/source/libs/transport/src/transSvr.c index baaca9d35d..1d2c5ef13c 100644 --- a/source/libs/transport/src/transSvr.c +++ b/source/libs/transport/src/transSvr.c @@ -18,7 +18,6 @@ static TdThreadOnce transModuleInit = PTHREAD_ONCE_INIT; static char* notify = "a"; -typedef bool (*FilteFunc)(void* arg); typedef struct { int notifyCount; // int init; // init or not