protected virtual void Dispose(bool disposing)
        {
            if (m_IpcSender != null)
            {
                m_IpcSender.Dispose();
                m_IpcSender = null;
            }

            if (m_IpcReceiver != null)
            {
                m_IpcReceiver.DataRecived -= OnIpcDataRecived;
                m_IpcReceiver.Dispose();
                m_IpcReceiver = null;
            }
        }
 private IpcCommunication(string senderName, string receiverName)
 {
     m_IpcSender                = new IpcSender <T>(senderName);
     m_IpcReceiver              = new IpcReceiver <TR>(receiverName);
     m_IpcReceiver.DataRecived += OnIpcDataRecived;
 }