示例#1
0
文件: Channel.cs 项目: ewin66/Forge
 /// <summary>
 /// Adds the message.
 /// </summary>
 /// <param name="message">The message.</param>
 internal void AddMessage(IMessage message)
 {
     if (message.AllowParallelExecution)
     {
         if (LOGGER.IsDebugEnabled)
         {
             LOGGER.Debug(string.Format("TCPChannel-Receive, forwarding message in parallel mode. {0}", message.ToString()));
         }
         InternalReceiveRequestMessageDelegate d = new InternalReceiveRequestMessageDelegate(mContainer.Channel.InternalOnReceiveRequestMessage);
         d.BeginInvoke(mContainer.Channel, new ReceiveMessageEventArgs(mSessionId, message), new AsyncCallback(CallBack), d);
     }
     else
     {
         if (LOGGER.IsDebugEnabled)
         {
             LOGGER.Debug(string.Format("TCPChannel-Receive, forwarding message in sequential mode. {0}", message.ToString()));
         }
         mQueue.Enqueue(message);
         mResetEvent.Set();
     }
 }
示例#2
0
文件: Channel.cs 项目: ewin66/Forge
            private void CallBack(IAsyncResult asyncResult)
            {
                InternalReceiveRequestMessageDelegate d = asyncResult.AsyncState as InternalReceiveRequestMessageDelegate;

                d.EndInvoke(asyncResult);
            }