chore: support specify param by app

This commit is contained in:
kailixu 2023-04-17 14:19:44 +08:00
parent ab9d95d1a8
commit 5889ea1261
4 changed files with 5 additions and 4 deletions

View File

@ -230,7 +230,7 @@ DLL_EXPORT int taos_get_tables_vgId(TAOS *taos, const char *db, const char *tabl
DLL_EXPORT int taos_load_table_info(TAOS *taos, const char *tableNameList); DLL_EXPORT int taos_load_table_info(TAOS *taos, const char *tableNameList);
DLL_EXPORT int taos_set_notify_cb(TAOS *taos, __taos_notify_fn_t *fp, void *param); DLL_EXPORT int taos_set_notify_cb(TAOS *taos, __taos_notify_fn_t *fp, void *param, int type);
/* --------------------------schemaless INTERFACE------------------------------- */ /* --------------------------schemaless INTERFACE------------------------------- */

View File

@ -135,6 +135,7 @@ typedef struct SAppInfo {
typedef struct { typedef struct {
int32_t ver; int32_t ver;
void* param;
__taos_notify_fn_t* fp; __taos_notify_fn_t* fp;
} SPassInfo; } SPassInfo;

View File

@ -73,7 +73,7 @@ static int32_t hbProcessUserPassInfoRsp(void *value, int32_t valueLen, SClientHb
if (atomic_load_32(&passInfo->ver) < rsp->version) { if (atomic_load_32(&passInfo->ver) < rsp->version) {
atomic_store_32(&passInfo->ver, rsp->version); atomic_store_32(&passInfo->ver, rsp->version);
if (passInfo->fp) { if (passInfo->fp) {
(*passInfo->fp)(&pTscObj->id, NULL, TAOS_NOTIFY_PASSVER); (*passInfo->fp)(&pTscObj->id, passInfo->param, TAOS_NOTIFY_PASSVER);
} }
} }
} }

View File

@ -119,7 +119,7 @@ TAOS *taos_connect(const char *ip, const char *user, const char *pass, const cha
return NULL; return NULL;
} }
int taos_set_notify_cb(TAOS *taos, __taos_notify_fn_t *fp, void *param) { int taos_set_notify_cb(TAOS *taos, __taos_notify_fn_t *fp, void *param, int type) {
if (taos == NULL) { if (taos == NULL) {
return TSDB_CODE_INVALID_PARA; return TSDB_CODE_INVALID_PARA;
} }
@ -130,10 +130,10 @@ int taos_set_notify_cb(TAOS *taos, __taos_notify_fn_t *fp, void *param) {
return TSDB_CODE_TSC_DISCONNECTED; return TSDB_CODE_TSC_DISCONNECTED;
} }
int32_t type = param ? *(int32_t *)param : 0;
switch (type) { switch (type) {
case TAOS_NOTIFY_PASSVER: { case TAOS_NOTIFY_PASSVER: {
pObj->passInfo.fp = fp; pObj->passInfo.fp = fp;
pObj->passInfo.param = param;
break; break;
} }
default: default: