Пример #1
0
 private ChainBuilder(
     SingleTaskBatcher <TIn> firstBatcher,
     List <Func <IEnumerable <Exception> > > getExceptions,
     List <SingleTaskBatcher> batchers)
 {
     Init(firstBatcher, getExceptions, batchers);
 }
Пример #2
0
 private ChainBatcher <TIn> AndFinally(SingleTaskBatcher <TOut> finalBatcher)
 {
     _nextBatcher = () => finalBatcher;
     _getExceptions.Add(() => finalBatcher.Exceptions);
     _batchers.Add(finalBatcher);
     return(new ChainBatcher <TIn>(_firstBatcher, _getExceptions, _batchers));
 }
Пример #3
0
 internal ChainBuilder(Func <TIn, CancellationToken, Task <TOut> > func)
 {
     _firstBatcher = new SingleTaskBatcher <TIn>(async(i, t) =>
     {
         var result = await func(i, t);
         _nextBatcher().Process(result);
     });
     Init(_firstBatcher);
 }
Пример #4
0
 internal ChainBuilder(Func <TIn, TOut> func)
 {
     _firstBatcher = new SingleTaskBatcher <TIn>(i =>
     {
         var result = func(i);
         _nextBatcher().Process(result);
     });
     Init(_firstBatcher);
 }
Пример #5
0
 private void Init(
     SingleTaskBatcher <TIn> firstBatcher,
     List <Func <IEnumerable <Exception> > > getExceptions = null,
     List <SingleTaskBatcher> batchers = null)
 {
     _firstBatcher  = firstBatcher;
     _getExceptions = getExceptions ?? new List <Func <IEnumerable <Exception> > >
     {
         () => firstBatcher.Exceptions
     };
     _batchers = batchers ?? new List <SingleTaskBatcher>
     {
         firstBatcher
     };
 }