//----< define receive thread processing >----------------------- public void rcvThreadProc() { Message msg = new Message(); while (true) { msg = comm.rcvr.GetMessage(); Console.Write("\n getting message on rcvThread {0}", Thread.CurrentThread.ManagedThreadId); if (msg.type == "TestRequest") { BuildRequest tr = msg.body.FromXml <BuildRequest>(); if (tr != null) { Console.Write( "\n {0}\n received message from: {1}\n{2}\n deserialized body:\n{3}", msg.to, msg.from, msg.body.shift(), tr.showThis() ); if (msg.body == "quit") { break; } } } else { Console.Write("\n {0}\n received message from: {1}\n{2}", msg.to, msg.from, msg.body.shift()); if (msg.body == "quit") { break; } } } Console.Write("\n receiver {0} shutting down\n", msg.to); }