- /**
- * @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 <nodes>\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;
- }
|