예제 #1
0
파일: Results.cs 프로젝트: pichierri/Carrot
 protected ConsumingFailureBase(ConsumedMessageBase message,
                                ConsumedMessage.ConsumingResult[] results,
                                params Exception[] exceptions)
     : base(message, results)
 {
     _exceptions = exceptions;
 }
예제 #2
0
 internal Task<ConsumedMessage.ConsumingResult> ConsumeAsync(ConsumedMessage message)
 {
     return Task<Task>.Factory
                      .StartNew(_ => _innerConsumer.ConsumeAsync(_), message)
                      .Unwrap()
                      .ContinueWith(_ => ConsumingResult(_, message));
 }
예제 #3
0
        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);
        }
예제 #4
0
 protected abstract ConsumingFailureBase Result(ConsumedMessage.ConsumingResult[] results);
예제 #5
0
 protected ConsumingResult(ConsumedMessage message)
 {
     Message = message;
 }
예제 #6
0
 public Success(ConsumedMessage message)
     : base(message)
 {
 }
예제 #7
0
 internal Failure(ConsumedMessage message, Exception exception)
     : base(message)
 {
     Exception = exception;
 }
예제 #8
0
 protected override ConsumingFailureBase Result(ConsumedMessage.ConsumingResult[] results)
 {
     return new UnresolvedMessageConsumingFailure(this, results);
 }
예제 #9
0
파일: Results.cs 프로젝트: pichierri/Carrot
 internal Success(ConsumedMessageBase message, ConsumedMessage.ConsumingResult[] results)
     : base(message, results)
 {
 }
예제 #10
0
파일: Results.cs 프로젝트: pichierri/Carrot
 protected AggregateConsumingResult(ConsumedMessageBase message, ConsumedMessage.ConsumingResult[] results)
 {
     Message = message;
     Results = results;
 }
예제 #11
0
파일: Results.cs 프로젝트: pichierri/Carrot
 internal CorruptedMessageConsumingFailure(ConsumedMessageBase message,
                                           ConsumedMessage.ConsumingResult[] results)
     : base(message, results)
 {
 }
예제 #12
0
파일: Results.cs 프로젝트: pichierri/Carrot
 internal UnresolvedMessageConsumingFailure(ConsumedMessageBase message,
                                            ConsumedMessage.ConsumingResult[] results)
     : base(message, results)
 {
 }
예제 #13
0
파일: Results.cs 프로젝트: pichierri/Carrot
 internal ConsumingFailure(ConsumedMessageBase message,
                           ConsumedMessage.ConsumingResult[] results,
                           params Exception[] exceptions)
     : base(message, results, exceptions)
 {
 }