#include #include #include "syncIO.h" #include "syncInt.h" #include "syncRaftStore.h" void print(SHashObj *pNextIndex) { printf("----------------\n"); uint64_t *p = (uint64_t *)taosHashIterate(pNextIndex, NULL); while (p) { size_t len; void* key = taosHashGetKey(p, &len); SRaftId *pRaftId = (SRaftId*)key; printf("key:<%lu, %d>, value:%lu \n", pRaftId->addr, pRaftId->vgId, *p); p = (uint64_t *)taosHashIterate(pNextIndex, p); } } void logTest() { sTrace("--- sync log test: trace"); sDebug("--- sync log test: debug"); sInfo("--- sync log test: info"); sWarn("--- sync log test: warn"); sError("--- sync log test: error"); sFatal("--- sync log test: fatal"); } int main() { // taosInitLog((char *)"syncTest.log", 100000, 10); tsAsyncLog = 0; sDebugFlag = 143 + 64; logTest(); SRaftId me; SRaftId peer1; SRaftId peer2; me.addr = 0; me.vgId = 99; peer1.addr = 1; peer1.vgId = 99; peer2.addr = 2; peer2.vgId = 99; uint64_t index; SHashObj *pNextIndex = taosHashInit(sizeof(SRaftId), taosGetDefaultHashFunction(TSDB_DATA_TYPE_BINARY), true, HASH_NO_LOCK); index = 1000; taosHashPut(pNextIndex, &me, sizeof(me), &index, sizeof(index)); index = 1001; taosHashPut(pNextIndex, &peer1, sizeof(peer1), &index, sizeof(index)); index = 1002; taosHashPut(pNextIndex, &peer2, sizeof(peer2), &index, sizeof(index)); print(pNextIndex); SRaftId find; find = peer1; uint64_t *p; p = (uint64_t *)taosHashGet(pNextIndex, &find, sizeof(find)); (*p) += 900; print(pNextIndex); taosHashCleanup(pNextIndex); return 0; }