static void Main(string[] args) { Params ps = new Params(); foreach (var arg in args) { if (!ps.ProcessCommandLineArgument(arg)) { usage(); return; } } var serviceIdentity = ServiceIdentity.ReadFromFile(ps.ServiceFileName); if (serviceIdentity == null) { return; } if (serviceIdentity.ServiceType != "IronSHT") { Console.Error.WriteLine("ERROR - Service described by {0} is of type {1}, not IronSHT", ps.ServiceFileName, serviceIdentity.ServiceType); return; } HiResTimer.Initialize(); if (ps.Verbose) { Console.WriteLine("Client process starting {0} threads running for {1} s...", ps.NumThreads, ps.ExperimentDuration); } Console.WriteLine("[[READY]]"); // Setup the system var setupThreads = Client.StartSetupThreads(ps, serviceIdentity).ToArray(); setupThreads[0].Join(); Console.WriteLine("[[SETUP COMPLETE]]"); // Start the experiment var threads = Client.StartExperimentThreads(ps, serviceIdentity).ToArray(); if (ps.ExperimentDuration == 0) { threads[0].Join(); } else { Thread.Sleep((int)ps.ExperimentDuration * 1000); Console.Out.WriteLine("[[DONE]]"); Console.Out.Flush(); Environment.Exit(0); } }
static void Main(string[] args) { Params ps = new Params(); foreach (var arg in args) { if (!ps.ProcessCommandLineArgument(arg)) { usage(); return; } } if (!ps.Validate()) { usage(); return; } var serviceIdentity = ServiceIdentity.ReadFromFile(ps.ServiceFileName); if (serviceIdentity == null) { return; } HiResTimer.Initialize(); if (ps.Verbose) { Console.WriteLine("Client process starting {0} threads running for {1} s...", ps.NumThreads, ps.ExperimentDuration); } Console.WriteLine("[[READY]]"); // Start the experiment var threads = Client.StartThreads <Client>(ps, serviceIdentity).ToArray(); if (ps.ExperimentDuration == 0) { threads[0].Join(); } else { Thread.Sleep((int)ps.ExperimentDuration * 1000); Console.Out.WriteLine("[[DONE]]"); Console.Out.Flush(); Environment.Exit(0); } }