/// <summary> /// Send a message to the next handler /// </summary> /// <param name="context">My context</param> /// <param name="message">Message received</param> public void HandleUpstream(IUpstreamContext context, IUpstreamMessage message) { var msg = message as CommandFailed; if (msg != null) { if (msg.Message.Attempts >= _numberOfAttempts) { context.SendUpstream(new CommandAborted(msg.Message, msg.Exception)); return; } context.SendDownstream(msg.Message); } context.SendUpstream(message); }
//TODO: Unit test all upstream messages /// <summary> /// Send a message to the next handler /// </summary> /// <param name="context">My context</param> /// <param name="message">Message received</param> public void HandleUpstream(IUpstreamContext context, IUpstreamMessage message) { // great. let's remove it var msg = message as CommandCompleted; if (msg != null) { _storage.Delete(msg.Message.Command); } // won't try anymore. var aborted = message as CommandAborted; if (aborted != null) { _storage.Delete(aborted.Message.Command); } var failed = message as CommandFailed; if (failed != null) { _storage.Update(failed.Message); } context.SendUpstream(message); }
/// <summary> /// Send a message to the next handler /// </summary> /// <param name="context">My context</param> /// <param name="message">Message received</param> public void HandleUpstream(IUpstreamContext context, IUpstreamMessage message) { var msg = message as CommandFailed; if (msg != null) { if (msg.Message.Attempts >= _numberOfAttempts) { context.SendUpstream(new CommandAborted(msg.Message, msg.Exception)); return; } context.SendDownstream(msg.Message); } context.SendUpstream(message); }
/// <summary> /// Send a message to the next handler /// </summary> /// <param name="context">My context</param> /// <param name="message">Message received</param> public void HandleUpstream(IUpstreamContext context, IUpstreamMessage message) { Invoked = true; context.SendUpstream(message); }
/// <summary> /// Send a message to the next handler /// </summary> /// <param name="context">My context</param> /// <param name="message">Message received</param> public void HandleUpstream(IUpstreamContext context, IUpstreamMessage message) { Invoked = true; context.SendUpstream(message); }
//TODO: Unit test all upstream messages /// <summary> /// Send a message to the next handler /// </summary> /// <param name="context">My context</param> /// <param name="message">Message received</param> public void HandleUpstream(IUpstreamContext context, IUpstreamMessage message) { // great. let's remove it var msg = message as CommandCompleted; if (msg != null) { _storage.Delete(msg.Message.Command); } // won't try anymore. var aborted = message as CommandAborted; if (aborted != null) { _storage.Delete(aborted.Message.Command); } var failed = message as CommandFailed; if (failed != null) { _storage.Update(failed.Message); } context.SendUpstream(message); }