/// <summary> /// Constructor /// </summary> /// <param name="ipcName"></param> public IpcSender(string ipcName) : base(ipcName) { m_SendQueue = new Queue <T>(10); m_JsonShmSender = new JsonShmSender <T>(IpcName); m_SendThread = new Thread(SendThreadMain); m_SendDataEvent = new AutoResetEvent(false); m_Running = true; m_SendThread.Start(); }
public void ShmSendReciveTest() { const string testData = "The Test Data"; const string shmName = "TestShm"; using (var shmSender = new JsonShmSender <string>(shmName)) { using (var shmReceiver = new JsonShmReceiver <string>(shmName)) { var send = shmSender.SaveToSharedMemory(testData); Assert.IsTrue(send); var recived = shmReceiver.LoadFromSharedMemory(); Assert.AreEqual(testData, recived); } } }
/// <summary> /// Dispose /// </summary> /// <param name="disposing"></param> protected override void Dispose(bool disposing) { if (disposing) { m_SendDataEvent?.Set(); m_Running = false; m_SendThread?.Join(); m_SendThread = null; m_JsonShmSender?.Dispose(); m_JsonShmSender = null; m_SendDataEvent?.Dispose(); m_SendDataEvent = null; } base.Dispose(disposing); }