Example #1
0
 /// <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);
                }
            }
        }