public IPipeElement <QueuePipeContext, string, TReturn> StartWithQueueMessage <TReturn>( string queueMessage, IAsyncQueueStepProvider <string, TReturn> provider) { var context = new QueuePipeContext(_serviceProvider, queueMessage); return(new StartElement <QueuePipeContext, string, TReturn>(context, queueMessage, provider)); }
public static async Task CompleteWithAsync <TInput, TInputForNextStep>( this IPipeElement <QueuePipeContext, TInput, TInputForNextStep> element, IAsyncQueueStepProvider <TInputForNextStep?, bool> provider) { var finalStep = new FinalElement <QueuePipeContext, TInputForNextStep, bool>( element.Context, element.PreviousElements.Append(element), provider); await finalStep.CompletePipeAsync(); }