/// <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); } } }