Beispiel #1
0
 private IEnumerator <ITask> HandleOutMessage(RelayMessageAsyncResult asyncMessage)
 {
     try
     {
         counters.CountInputBytes(asyncMessage.Message);
         foreach (var task in components.HandleOutMessage(asyncMessage))
         {
             yield return(task);
         }
     }
     finally
     {
         counters.CountOutMessage(asyncMessage.Message);
         const bool wasSynchronous = false;
         asyncMessage.CompleteOperation(wasSynchronous);
     }
 }
Beispiel #2
0
 private void HandleOutMessage(RelayMessageWithContext messageWithContext)
 {
     try
     {
         counters.CountInputBytes(messageWithContext.RelayMessage);
         components.HandleOutMessage(messageWithContext);
         countersInternal.CountOutMessage(messageWithContext.RelayMessage);
         if (messageWithContext.RelayMessage.AllowsReturnPayload == false)
         {
             messageWithContext.RelayMessage.Payload = null;
         }
     }
     catch (Exception exc)
     {
         if (log.IsErrorEnabled)
         {
             log.ErrorFormat("Error handling message {0}: {1}", messageWithContext.RelayMessage, exc);
         }
     }
 }