/// <summary> /// Adds a message and a handler to the tracker to wait until HandleMessage is called with a reply. /// </summary> /// <param name="message">The message which was sent to the server</param> /// <param name="handler">The handler for the reply message.</param> public void AddMessage(BaseMessage message, GenericReplyHandler handler) { lock (m_lock) { m_messageList.Add(new IPCMessageData() { Message = message, Handler = handler }); } }
private void PushMessage(BaseMessage msg, GenericReplyHandler replyHandler = null) { var bf = new BinaryFormatter(); using (var ms = new MemoryStream()) { bf.Serialize(ms, msg); } m_client.PushMessage(msg); if (replyHandler != null) { if (Default != null) { Default.m_ipcQueue.AddMessage(msg, replyHandler); } else { m_ipcQueue.AddMessage(msg, replyHandler); } } }