private void RpcReceiveReply(WireProtocol.IncomingMessage msg, WireProtocol.Commands.Debugging_Messaging_Reply reply) { WireProtocol.Commands.Debugging_Messaging_Address addr = reply.m_addr; EndPointRegistration eep; eep = RpcFind(addr.m_from_Type, addr.m_from_Id, false); WireProtocol.Commands.Debugging_Messaging_Reply.Reply res = new WireProtocol.Commands.Debugging_Messaging_Reply.Reply(); res.m_found = (eep != null) ? 1u : 0u; res.m_addr = addr; msg.Reply(CreateConverter(), WireProtocol.Flags.c_NonCritical, res); if (eep != null) { lock (eep.m_req_Outbound.SyncRoot) { foreach (EndPointRegistration.OutboundRequest or in eep.m_req_Outbound) { if (or.Seq == addr.m_seq && or.Type == addr.m_to_Type && or.Id == addr.m_to_Id) { or.Reply = reply.m_data; break; } } } } }
internal bool RpcReply(WireProtocol.Commands.Debugging_Messaging_Address addr, byte[] data) { WireProtocol.Commands.Debugging_Messaging_Reply cmd = new WireProtocol.Commands.Debugging_Messaging_Reply(); cmd.m_addr = addr; cmd.m_data = data; WireProtocol.IncomingMessage reply = SyncMessage(WireProtocol.Commands.c_Debugging_Messaging_Reply, 0, cmd); if (reply != null) { WireProtocol.Commands.Debugging_Messaging_Reply.Reply res = new WireProtocol.Commands.Debugging_Messaging_Reply.Reply(); if (res != null && res.m_found != 0) { return true; } } return false; }