private bool ConnectToSharedMemory() { try { memoryStatus = AC_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"); carsInfoMMF = MemoryMappedFile.OpenExisting("Local\\acpmf_cars"); physics = ReadPhysics(); graphics = ReadGraphics(); staticInfo = ReadStaticInfo(); cars = ReadCars(); memoryStatus = AC_MEMORY_STATUS.CONNECTED; return(true); } catch (FileNotFoundException) { return(false); } }
private bool ConnectToSharedMemory() { try { memoryStatus = AC_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 = AC_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 = AC_MEMORY_STATUS.DISCONNECTED; sharedMemoryRetryTimer.Stop(); // Stop the timers physicsTimer.Stop(); graphicsTimer.Stop(); staticInfoTimer.Stop(); }
private bool ConnectToSharedMemory() { try { memoryStatus = AC_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 = AC_MEMORY_STATUS.CONNECTED; return true; } catch (FileNotFoundException) { staticInfoTimer.Stop(); graphicsTimer.Stop(); physicsTimer.Stop(); return false; } }
public void Close() { memoryStatus = AC_MEMORY_STATUS.DISCONNECTED; }