Esempio n. 1
0
 /* =============================================================================
  * .CTOR
  * =============================================================================
  */
 public Launcher(string[] args)
 {
     redBlackFactory = (IRedBlackFactory)workerFactory;
     ParseParameters(args);
     PrintParameters();
     SetupRedBlack();
     workers = new IWorker[nrOfThreads];
     int i;
     for (i = 0; i < nrOfThreads; i++)
     {
         workers[i] = workerFactory.MakeWorker();
         workers[i].RedBlack = rbTree;
         workers[i].NumberOfNodesPerTrx = numberOfNodesPerTrx;
         workers[i].Capacity = capacity;
         workers[i].UpdatesTax = updatesTax;
         workers[i].ValueToWrite = valueToWrite;
         workers[i].WorkerIterationPerformedEvent += new WorkerListener(workers[i]).Update;
     }
 }
Esempio n. 2
0
 private void ParseParameters(string[] args)
 {
     string currentArg, optionValue;
     for (int i = 0; i < args.Length; i++)
     {
         currentArg = args[i++];
         optionValue = args[i];
         switch (currentArg)
         {
             case "-t": runningSecs = Int32.Parse(optionValue); break;
             case "-w": nrOfThreads = Int32.Parse(optionValue); break;
             case "-x": executor = (IExecutor)Activator.CreateInstance(Type.GetType(optionValue)); break;
             case "-n": numberOfNodesPerTrx = Int32.Parse(optionValue); break;
             case "-f":
                 workerFactory = (IWorkerFactory)Activator.CreateInstance(Type.GetType(optionValue));
                 redBlackFactory = (IRedBlackFactory)workerFactory;
                 break;
             case "-u": updatesTax = Int32.Parse(optionValue); break;
             case "-v": valueToWrite = Int32.Parse(optionValue); break;
         }
     }
 }