示例#1
0
        private void RpcReceiveSend( IncomingMessage msg, Commands.Debugging_Messaging_Send send )
        {
            Commands.Debugging_Messaging_Address addr = send.m_addr;
            EndPointRegistration eep;

            eep = RpcFind( addr.m_to_Type, addr.m_to_Id, true );

            Commands.Debugging_Messaging_Send.Reply res = new Commands.Debugging_Messaging_Send.Reply( );

            res.m_found = ( eep != null ) ? 1u : 0u;
            res.m_addr = addr;

            msg.Reply( CreateConverter( ), Flags.c_NonCritical, res );

            if( eep != null )
            {
                Message msgNew = new Message( eep.m_ep, addr, send.m_data );

                EndPointRegistration.InboundRequest ir = new EndPointRegistration.InboundRequest( eep, msgNew );

                ThreadPool.QueueUserWorkItem( new WaitCallback( RpcReceiveSendDispatch ), ir );
            }
        }
示例#2
0
 public InboundRequest( EndPointRegistration owner, Message msg )
     : base( owner )
 {
     m_msg = msg;
 }