/** * @file Main.cpp * * Created on: 07-01-2017 * @author Piotr Dergun */ #include "common.h" #include "Node.h" #include "NATRouter.h" #include "Simulation.h" /** * zwraca na stderr informację o parametrach uruchomienia programu * @param programName nazwa pliku wykonywalnego */ void usage(string programName) { cerr << endl; cerr << "Usage:" << endl; cerr << programName << " p2p\t\t\tP2P simulation" << endl; cerr << programName << " nat \t\tNAT overflow simulation" << endl; cerr << endl; exit(1); } /** * główna funkcja programu * @param argc ilość argumentów * @param argv tablica z argumentami */ int main(int argc, char *argv[]) { char *endptr=NULL; int nodesCount; if (argc < 2) usage(argv[0]); if (!strcmp(argv[1], "p2p")) { Simulation sim; sim.createThread("timer", SIM_TIMER, &sim); sim.p2pSimulation(); } else if (!strcmp(argv[1], "nat")) { if (argc < 3) usage(argv[0]); nodesCount = strtol(argv[2], &endptr, 10); if (nodesCount < 1 || nodesCount > 253) { cerr << "Invalid number of nodes format [1,253]" << endl; usage(argv[0]); } Simulation sim; sim.createThread("timer", SIM_TIMER, &sim); sim.natOverflowSimulation(nodesCount); } else if (!strcmp(argv[1], "-v")) { } else usage(argv[0]); return 0; }