Example #1
0
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--;
	}
Example #2
0
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);
		}
	}
}