protected ConsumingFailureBase(ConsumedMessageBase message, ConsumedMessage.ConsumingResult[] results, params Exception[] exceptions) : base(message, results) { _exceptions = exceptions; }
internal Task<ConsumedMessage.ConsumingResult> ConsumeAsync(ConsumedMessage message) { return Task<Task>.Factory .StartNew(_ => _innerConsumer.ConsumeAsync(_), message) .Unwrap() .ContinueWith(_ => ConsumingResult(_, message)); }
private ConsumedMessage.ConsumingResult ConsumingResult(Task task, ConsumedMessage message) { if (task.Exception == null) return new ConsumedMessage.Success(message); var exception = task.Exception.GetBaseException(); _innerConsumer.OnError(exception); return new ConsumedMessage.Failure(message, exception); }
protected abstract ConsumingFailureBase Result(ConsumedMessage.ConsumingResult[] results);
protected ConsumingResult(ConsumedMessage message) { Message = message; }
public Success(ConsumedMessage message) : base(message) { }
internal Failure(ConsumedMessage message, Exception exception) : base(message) { Exception = exception; }
protected override ConsumingFailureBase Result(ConsumedMessage.ConsumingResult[] results) { return new UnresolvedMessageConsumingFailure(this, results); }
internal Success(ConsumedMessageBase message, ConsumedMessage.ConsumingResult[] results) : base(message, results) { }
protected AggregateConsumingResult(ConsumedMessageBase message, ConsumedMessage.ConsumingResult[] results) { Message = message; Results = results; }
internal CorruptedMessageConsumingFailure(ConsumedMessageBase message, ConsumedMessage.ConsumingResult[] results) : base(message, results) { }
internal UnresolvedMessageConsumingFailure(ConsumedMessageBase message, ConsumedMessage.ConsumingResult[] results) : base(message, results) { }
internal ConsumingFailure(ConsumedMessageBase message, ConsumedMessage.ConsumingResult[] results, params Exception[] exceptions) : base(message, results, exceptions) { }