public static void ParseCommandLine(string []args, out bool complete, Simulator sim) { complete = false; string dataset_filename = String.Empty; int carg = 0; sim.StartingNetworkSize = 10; while(carg < args.Length) { String[] parts = args[carg++].Split('='); try { switch(parts[0]) { case "--n": sim.StartingNetworkSize = Int32.Parse(parts[1]); break; case "--broken": sim.Broken = Double.Parse(parts[1]); break; case "--complete": complete = true; break; case "--seed": sim.Seed = Int32.Parse(parts[1]); break; case "--se": sim.SecureEdges = true; sim.SecureStartup(); break; case "--ss": sim.SecureSenders = true; sim.SecureStartup(); break; case "--dataset": dataset_filename = parts[1]; break; case "--help": default: PrintHelp(); break; } } catch { PrintHelp(); } } Console.WriteLine("Initializing..."); if(dataset_filename != String.Empty) { List<List<int>> latency = new List<List<int>>(); using(StreamReader fs = new StreamReader(new FileStream(dataset_filename, FileMode.Open))) { string line = null; while((line = fs.ReadLine()) != null) { string[] points = line.Split(' '); List<int> current = new List<int>(points.Length); foreach(string point in points) { int val; if(!Int32.TryParse(point, out val)) { continue; } current.Add(Int32.Parse(point)); } latency.Add(current); } } if(sim.StartingNetworkSize == 10) { sim.StartingNetworkSize = latency.Count; } SimulationEdgeListener.LatencyMap = latency; } for(int i = 0; i < sim.StartingNetworkSize; i++) { Console.WriteLine("Setting up node: " + i); sim.AddNode(); } Console.WriteLine("Initialization complete...\n"); }