public void OnMsg(PropertyMsg queryMsg) { PropertyMsg replyMsg; switch (queryMsg._Get("cmd")) { case "reply": replyMsg = new PropertyMsg(); replyMsg["value"] = queryMsg["value"]; router.ReplyTo(queryMsg, replyMsg); break; case "delay-reply": Thread.Sleep(500); replyMsg = new PropertyMsg(); replyMsg["value"] = queryMsg["value"]; router.ReplyTo(queryMsg, replyMsg); break; case "error": throw new Exception("Error: " + queryMsg["value"]); } }