static void Main(string[] args) { //NetworkSimulator network; NetworkListener listener = new NetworkListener("Race Host"); //TagPassing passDetector = new TagPassing(); //passDetector.AddReader(listener); LoggerConsole log = new LoggerConsole(); LoggerSummary countLogger = new LoggerSummary(); LoggerBinary binaryLog = new LoggerBinary("tagReadings.bin"); //LoggerText textLog = new LoggerText("tagReadings.txt"); //LoggerXML log = new LoggerXML("test.xml"); //log.AddReader(listener); int initialiCapacity = 10000; PriorityCollectionBlocking<TagInfo> queue = new PriorityCollectionBlocking<TagInfo>("Queue", initialiCapacity); BufferReadings buffer = new BufferReadings(queue); ProcessBufferedReadings passDetector = new ProcessBufferedReadings("Pass Detector", queue); binaryLog.AddPublisher(listener); buffer.AddPublisher(listener); countLogger.AddPublisher(listener); log.AddPublisher(passDetector); passDetector.Start(); listener.Start(); //System.Windows.Forms.OpenFileDialog fileDialog = new System.Windows.Forms.OpenFileDialog(); //if (fileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) //{ // string filename = fileDialog.FileName; // if (System.IO.File.Exists(filename)) // { // network = new NetworkSimulator(filename, new TestTagProcessor()); // network.AddListener(listener); // network.Start(true); // //log.Serialize(); // } // else // { // Console.WriteLine("Error! The specified file does not exist. Rerun the applications."); // } //} Console.WriteLine("Press any key stop the reading ..."); Console.Read(); listener.End(); passDetector.Exit(); countLogger.PrintStatsToConsole(); binaryLog.Dispose(); Console.WriteLine("Press any key to exit the demo ..."); Console.Read(); Environment.Exit(0); }
private void startCollectingDataButton_Click(object sender, EventArgs e) { //MessageBox.Show("SleepTime is: " + Config.Instance.SleepTime + "; PortNumber is: " + Config.Instance.PortNumber); startCollectingDataButton.Enabled = false; stopCollectingDataButton.Enabled = true; //so that user won't switch during the event: this.selectedRaceComboBox.Enabled = false; this.eventComboBox.Enabled = false; ResetRaceStandingsGrid(); //passingsDataGrid.DataSource = new BindingList<PassingsInfo>(); readingsLogger = new TagSubscriber(LogReadings); passingsLogger = new TagSubscriber(LogPassings); readingsQueue = new PriorityCollectionNonBlocking<TagInfo>("Queue", 1024); passingsQueue = new PriorityCollectionNonBlocking<TagInfo>("Queue", 1024); #if V15 HardcardServer.NetworkPort = Properties.Settings.Default.PortNumber; HardcardServer.PassingSleepTime = 1000; server = new HardcardServer("Hardcard Race System"); //LoggerConsole log = new LoggerConsole(); //LoggerSummary countLogger = new LoggerSummary(); //LoggerBinary binaryLog = new LoggerBinary("tagReadings.bin"); //binaryLog.AddPublisher(server.IndividualReadingPublisher); //countLogger.AddPublisher(server.IndividualReadingPublisher); //countLogger.DesiredTagTypes = TagEventType.Read; readingsLogger.AddPublisher(server.PassingsPublisher); readingsLogger.DesiredTagTypes = TagEventType.PassDetermined; passingsLogger.AddPublisher(server.PassingsPublisher); passingsLogger.DesiredTagTypes = TagEventType.PassDetermined; bool useXML = Properties.Settings.Default.useXML; networkFeed = new NetworkPublisher(useXML); networkFeed.Server = Properties.Settings.Default.serverIP; networkFeed.Port = Properties.Settings.Default.serverPortNumber; networkFeed.AddPublisher(server.PassingsPublisher); networkFeed.DesiredTagTypes = TagEventType.PassDetermined; networkFeed.Start(); server.Start(); #else int portNumber = Properties.Settings.Default.PortNumber; networkListener = new NetworkListener("Race Host",portNumber); int initialCapacity = 10000; PriorityCollectionBlocking<TagInfo> queue = new PriorityCollectionBlocking<TagInfo>("Queue", initialCapacity); // The queue above is used to communicate between the buffer below and the passDetector. BufferReadings buffer = new BufferReadings(queue); passDetector = new ProcessBufferedReadings("Pass Detector", queue); buffer.AddPublisher(networkListener); // Subscribe the loggers to the publishers. readingsLogger.AddPublisher(networkListener); passingsLogger.AddPublisher(passDetector); passDetector.Start(); networkListener.Start(); #endif }
private void StartRaceThread() { listener = new NetworkListener("Race Host"); int initialiCapacity = 10000; PriorityCollectionBlocking<TagInfo> queue = new PriorityCollectionBlocking<TagInfo>("Queue", initialiCapacity); // The queue above is used to communicate between the buffer below and the passDetector. BufferReadings buffer = new BufferReadings(queue); passDetector = new ProcessBufferedReadings("Pass Detector", queue); buffer.AddPublisher(listener); // Subscribe the loggers to the publishers. readingsLogger.AddPublisher(listener); binaryLogger.AddPublisher(listener); passingsLogger.AddPublisher(passDetector); // Start the pass detection in its own thread. passDetector.Start(); // Start the networkListener. listener.Start(); }
private void StartRaceThread() { listener = new NetworkListener("Race Host"); int initialiCapacity = 10000; PriorityCollectionBlocking<TagInfo> queue = new PriorityCollectionBlocking<TagInfo>("Queue", initialiCapacity); BufferReadings buffer = new BufferReadings(queue); passDetector = new ProcessBufferedReadings("Pass Detector", queue); readingsLogger.AddPublisher(listener); buffer.AddPublisher(listener); passingsLogger.AddPublisher(passDetector); passDetector.Start(); listener.Start(); }