예제 #1
0
 /// <summary>
 /// Invokes the specified message.
 /// </summary>
 /// <param name="message">The message.</param>
 public void Invoke(IDownstreamMessage message)
 {
     if (message == null)
     {
         throw new ArgumentNullException("message");
     }
     _mine.HandleDownstream(this, message);
     InvokeUpstream();
     InvokeDownstream();
 }
예제 #2
0
 /// <summary>
 /// Process message
 /// </summary>
 /// <param name="context">Context information</param>
 /// <param name="message">Message to process</param>
 public void HandleDownstream(IPipelineHandlerContext context, IPipelineMessage message)
 {
     _downStreamEndPoint.HandleDownstream(context, message);
 }
 public void Invoke(IPipelineMessage message)
 {
     _logger.Trace("Down: Invoking " + _myHandler.ToStringOrClassName() + " with msg " + message.ToStringOrClassName());
     _myHandler.HandleDownstream(this, message);
 }
예제 #4
0
 /// <summary>
 /// Send a message down stream (from application to channel)
 /// </summary>
 /// <param name="handler">Handler to start with</param>
 /// <param name="channelEvent">Event to send</param>
 /// <remarks>
 /// All handlers above the specified one will be ignored and not invoked.
 /// </remarks>
 public void SendDownstream(IDownstreamHandler handler, IChannelEvent channelEvent)
 {
     ChannelHandlerContext ctx = _contexts[handler];
     handler.HandleDownstream(ctx, channelEvent);
 }