private void FetchData() { //eventCount = 0; while (true) { if (activeCapture) { try { // Get the data (this will block until we get a packet) Object rawGameData = pcarsUDPreader.ReadGameData(); // Lock access to the shared struct syncMutex.WaitOne(); // GameDataPacket dataPacket = new GameDataPacket(rawGameData); StructHelper.pCarsAPIStruct shared = ((PCarsStructWrapper)rawGameData).data; shared.timestamp = System.DateTime.UtcNow.ToString("o"); shared.sessionId = sessionId; //WriteToConsole(dataPacket.timestamp // + " Speed: " + (dataPacket.speed).ToString() // + " Current Time: " + (dataPacket.currentTime).ToString() // ); // Only capture and send the data if the game is running (i.e not paused or in the menu) if (shared.mGameState > 0) { WriteToConsole(DateTime.Now.ToString() + " Game State: " + shared.mGameState); String serializedString = JsonConvert.SerializeObject(shared); Boolean result = evHubSender.Send(serializedString); if (!result) { WriteToConsole("EventHub send failure"); } else { WriteToConsole(DateTime.Now.ToString() + " Data Sent"); } } } catch (Exception ex) { WriteToConsole(ex.ToString()); } // Release the lock again syncMutex.ReleaseMutex(); } } }
private void FetchData() { //eventCount = 0; while (true) { if (activeCapture) { try { // Get the data (this will block until we get a packet) // Byte[] receiveBytes = udpSocket.Receive(ref senderIP); Object rawGameData = pcarsUDPreader.ReadGameData(); //(PCarsStructWrapper)data. StructHelper.pCarsAPIStruct shared = ((PCarsStructWrapper)rawGameData).data; Console.WriteLine("Speed: " + (shared.mSpeed).ToString()); Console.WriteLine("RPM: " + (shared.mRPM).ToString()); Console.Clear(); String serializedString = JsonConvert.SerializeObject(shared); // Lock access to the shared struct syncMutex.WaitOne(); // Send to the Event Hub -- // EventData data = new EventData(Encoding.UTF8.GetBytes(serializedString)); // eventHubClient.SendAsync(data); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } // Release the lock again syncMutex.ReleaseMutex(); } } }