static void traverse(STri *t, int op) { STri tnew; #if 0 dbgprintf(" traverse, op = %d, level = %d, &tnew = %X\n",op,level,&tnew); prx(t," ----"); #endif if (!reg_stri(t)) return; level++; if (op!=R_OP) { R_refl(t,&tnew); traverse(&tnew,R_OP); } if (op!=P_OP) { P_refl(t,&tnew); traverse(&tnew,P_OP); } if (op!=Q_OP) { Q_refl(t,&tnew); traverse(&tnew,Q_OP); } level--; }
int main(int argc, char* argv[]) { //Server loops int port = 30000; //Worker threads for(int i = 0; i < workerThreadsNum; i++) { for(int j = 0; j < queueSizeNum; j++) { HTTP_Server srv(++port + 1000, queueSize[j]); srv.setupThreadPool(workerThreads[i]); srv.beginAcceptLoop(); sleep(1); HTTP_Proxy prx(port, queueSize[j], port + 1000); prx.setupThreadPool(workerThreads[i]); prx.beginAcceptLoop(); //wait for the startup sleep(1); //Worker loop for(int k = 0; k < clientThreadsNum; k++) { for(int l = 0; l < fileSizeNum; l++) { for(int m = 0; m < loopSizeNum; m++) { sleep(1); printf("# %d %d %d %d %d\n", i, j, k, l, m); //Convert the decimal digit to ascii char num = rand() % 9 + 48; client clnt(port); char randName[128]; sprintf(randName, "%s%d", fileSize[l], rand() % 10); clnt.runWorkerThreads(randName, clientThreads[k], loopSize[m]); } } } srv.shutdownServer(); //Wait 5 before starting a new server with a new port sleep(5); } } }