public void enqueueMessage(ICommunicationMessage msg) { ICommunicationMessage parsed = null; if (m_Interpreter != null) { parsed = m_Interpreter.ImmediatelyInterpret(msg); if (parsed == null) { if (m_Interpreter.DelayedInterpret(msg) == true) { return; } else { lock (m_Messages) m_Messages.Enqueue(msg); } } else { lock (m_Messages) m_Messages.Enqueue(parsed); } } else { lock (m_Messages) m_Messages.Enqueue(msg); } m_SignalNewMessage.Set(); }
public void enqueueMessage(ICommunicationMessage msg) { ICommunicationMessage parsed = null; ICommunicationMessage tobesent = null; if (m_Interpreter != null) { parsed = m_Interpreter.ImmediatelyInterpret(msg); if (parsed == null) { if (m_Interpreter.DelayedInterpret(msg) == true) { return; } else { tobesent = msg; //lock (m_Messages) // m_Messages.Enqueue(msg); } } else { tobesent = parsed; //lock (m_Messages) // m_Messages.Enqueue(parsed); } } else { tobesent = msg; //lock (m_Messages) // m_Messages.Enqueue(msg); } if (tobesent != null) { tobesent.SetValue("LAST_SEQ_ID", m_last_seq_id); m_last_seq_id = tobesent.SeqID; _sendMessage(tobesent); } //m_SignalNewMessage.Set(); }