Beispiel #1
0
 private static ConsumedMessage.ConsumingResult BuildFailure(IConsumer consumer,
                                                             ConsumedMessageBase message,
                                                             Exception exception)
 {
     consumer.OnError(exception);
     return new ConsumedMessage.Failure(message, consumer, exception);
 }
Beispiel #2
0
 private static ConsumedMessage.ConsumingResult BuildFailure(IConsumer consumer,
                                                             ConsumedMessageBase message,
                                                             Exception exception)
 {
     consumer.OnError(exception);
     return(new ConsumedMessage.Failure(message, consumer, exception));
 }
Beispiel #3
0
 protected ConsumingFailureBase(ConsumedMessageBase message,
                                ConsumedMessage.ConsumingResult[] results,
                                params Exception[] exceptions)
     : base(message, results)
 {
     _exceptions = exceptions;
 }
Beispiel #4
0
 private AggregateConsumingResult AggregateResult(Task<ConsumingResult[]> task,
                                                  ConsumedMessageBase message,
                                                  IFallbackStrategy fallbackStrategy)
 {
     return task.Result.OfType<Failure>().Any()
             ? BuildErrorResult(task.Result, fallbackStrategy)
             : new Messages.Success(message);
 }
Beispiel #5
0
 protected ConsumingFailureBase(ConsumedMessageBase message,
                                IFallbackStrategy fallbackStrategy,
                                params Exception[] exceptions)
     : base(message)
 {
     _fallbackStrategy = fallbackStrategy;
     _exceptions = exceptions;
 }
Beispiel #6
0
        public virtual Task <IPublishResult> ForwardAsync(ConsumedMessageBase message,
                                                          Exchange exchange,
                                                          String routingKey)
        {
            var properties = message.Args.BasicProperties.Clone() as IBasicProperties;
            var body       = message.Args.Body;

            return(PublishInternalAsync(exchange, routingKey, properties, body));
        }
Beispiel #7
0
 internal static Task<ConsumedMessage.ConsumingResult> SafeConsumeAsync(this IConsumer consumer,
                                                                        ConsumedMessageBase message)
 {
     try
     {
         return consumer.ConsumeAsync(message)
                        .ContinueWith(_ =>
                                      {
                                          if (_.Exception == null)
                                              return new ConsumedMessage.Success(message, consumer);
                                      
                                          return BuildFailure(consumer,
                                                              message,
                                                              _.Exception.GetBaseException());
                                      });
     }
     catch (Exception exception) { return Task.FromResult(BuildFailure(consumer, message, exception)); }
 }
Beispiel #8
0
        internal static Task <ConsumedMessage.ConsumingResult> SafeConsumeAsync(this IConsumer consumer,
                                                                                ConsumedMessageBase message)
        {
            try
            {
                return(consumer.ConsumeAsync(message)
                       .ContinueWith(_ =>
                {
                    if (_.Exception == null)
                    {
                        return new ConsumedMessage.Success(message, consumer);
                    }

                    return BuildFailure(consumer,
                                        message,
                                        _.Exception.GetBaseException());
                }));
            }
            catch (Exception exception) { return(Task.FromResult(BuildFailure(consumer, message, exception))); }
        }
Beispiel #9
0
 internal ConsumingFailure(ConsumedMessageBase message,
                           IFallbackStrategy fallbackStrategy,
                           params Exception[] exceptions)
     : base(message, fallbackStrategy, exceptions)
 {
 }
Beispiel #10
0
 protected AggregateConsumingResult(ConsumedMessageBase message)
 {
     Message = message;
 }
Beispiel #11
0
 internal UnsupportedMessageConsumingFailure(ConsumedMessageBase message, IFallbackStrategy fallbackStrategy)
     : base(message, fallbackStrategy)
 {
 }
Beispiel #12
0
 internal Success(ConsumedMessageBase message)
     : base(message)
 {
 }
Beispiel #13
0
 public void Apply(IOutboundChannel channel, ConsumedMessageBase message)
 {
 }
Beispiel #14
0
 internal Success(ConsumedMessageBase message, ConsumedMessage.ConsumingResult[] results)
     : base(message, results)
 {
 }
Beispiel #15
0
 public void Apply(IOutboundChannel channel, ConsumedMessageBase message) { }
 internal IEnumerable <IConsumer> FindSubscriptions(ConsumedMessageBase message)
 {
     return(_subscriptions.Where(_ => message.Match(_.Key))
            .SelectMany(_ => _.Value));
 }
Beispiel #17
0
 internal UnresolvedMessageConsumingFailure(ConsumedMessageBase message,
                                            ConsumedMessage.ConsumingResult[] results)
     : base(message, results)
 {
 }
Beispiel #18
0
 internal ConsumingFailure(ConsumedMessageBase message,
                           ConsumedMessage.ConsumingResult[] results,
                           params Exception[] exceptions)
     : base(message, results, exceptions)
 {
 }
Beispiel #19
0
 internal Failure(ConsumedMessageBase message, IConsumer consumer, Exception exception)
     : base(message, consumer)
 {
     Exception = exception;
 }
Beispiel #20
0
 protected ConsumingResult(ConsumedMessageBase message, IConsumer consumer)
 {
     Message = message;
     Consumer = consumer;
 }
Beispiel #21
0
 internal CorruptedMessageConsumingFailure(ConsumedMessageBase message,
                                           ConsumedMessage.ConsumingResult[] results)
     : base(message, results)
 {
 }
Beispiel #22
0
 public void Apply(IOutboundChannel channel, ConsumedMessageBase message)
 {
     channel.ForwardAsync(message, _exchange, String.Empty);
 }
Beispiel #23
0
 Task IConsumer.ConsumeAsync(ConsumedMessageBase message)
 {
     return(ConsumeAsync(message.As <TMessage>()));
 }
Beispiel #24
0
 public Success(ConsumedMessageBase message, IConsumer consumer)
     : base(message, consumer)
 {
 }
Beispiel #25
0
 protected AggregateConsumingResult(ConsumedMessageBase message, ConsumedMessage.ConsumingResult[] results)
 {
     Message = message;
     Results = results;
 }
Beispiel #26
0
 public void Apply(IOutboundChannel channel, ConsumedMessageBase message)
 {
     channel.ForwardAsync(message, _exchange, String.Empty);
 }
Beispiel #27
0
 public ConsumingResultStub(ConsumedMessageBase message, IConsumer consumer) : base(message, consumer)
 {
 }