protected override void InternalInitBufferObjects()
 {
     Buffer = new BufferBlock <TOutput>(new DataflowBlockOptions()
     {
         BoundedCapacity = MaxBufferSize
     });
     Completion = new Task(
         () =>
     {
         try
         {
             OnExecutionDoAsyncWork();
             CompleteBufferOnPredecessorCompletion();
             ErrorSource?.CompleteBufferOnPredecessorCompletion();
             CleanUpOnSuccess();
         }
         catch (Exception e)
         {
             FaultBufferOnPredecessorCompletion(e);
             ErrorSource?.FaultBufferOnPredecessorCompletion(e);
             CleanUpOnFaulted(e);
             throw e;
         }
     }
         , TaskCreationOptions.LongRunning);
 }
Beispiel #2
0
 private void LetErrorSourceFinishUp() =>
 ErrorSource?.CompleteBufferOnPredecessorCompletion();