/// <summary>
        /// Intended to be called when a client disconnects from the IPC server for some reason.
        /// Makes sure that a server ends up handling a client's message.
        /// </summary>
        public void RetryMessages()
        {
            const int MaxRetries = 3;

            m_logger.Info("Retrying IPC messages.");
            lock (m_lock)
            {
                for (int i = 0; i < m_messageList.Count; i++)
                {
                    var message = m_messageList[i];
                    if (message.Retries < MaxRetries)
                    {
                        m_communicator.PushMessage(message.Message, message.Handler, message.Retries + 1);
                    }
                }
            }
        }
        /// <summary>
        /// Intended to be called when a client disconnects from the IPC server for some reason.
        /// Makes sure that a server ends up handling a client's message.
        /// </summary>
        public void RetryMessages()
        {
            const int MaxRetries = 3;

            m_logger.Info("Retrying IPC messages.");

            List <IPCMessageData> messageList = null;

            lock (m_lock)
            {
                m_messageList = new List <IPCMessageData>();
            }

            foreach (var message in messageList)
            {
                if (message.Retries < MaxRetries)
                {
                    m_communicator.PushMessage(message.Message, message.Handler, message.Retries + 1);
                }
            }
        }