private bool ConnectToSharedMemory() { try { memoryStatus = ACC_MEMORY_STATUS.CONNECTING; // Connect to shared memory physicsMMF = MemoryMappedFile.OpenExisting("Local\\acpmf_physics"); graphicsMMF = MemoryMappedFile.OpenExisting("Local\\acpmf_graphics"); staticInfoMMF = MemoryMappedFile.OpenExisting("Local\\acpmf_static"); // Start the timers staticInfoTimer.Start(); ProcessStaticInfo(); graphicsTimer.Start(); ProcessGraphics(); physicsTimer.Start(); ProcessPhysics(); // Stop retry timer sharedMemoryRetryTimer.Stop(); memoryStatus = ACC_MEMORY_STATUS.CONNECTED; return(true); } catch (FileNotFoundException) { staticInfoTimer.Stop(); graphicsTimer.Stop(); physicsTimer.Stop(); return(false); } }
/// <summary> /// Stop the timers and dispose of the shared memory handles /// </summary> public void Stop() { memoryStatus = ACC_MEMORY_STATUS.DISCONNECTED; sharedMemoryRetryTimer.Stop(); // Stop the timers physicsTimer.Stop(); graphicsTimer.Stop(); staticInfoTimer.Stop(); }