Task InnerInvoke(IncomingContext context, int currentIndex = 0) { if (currentIndex == executingElements.Count) { return Task.CompletedTask; } ILinkElement step = executingElements[currentIndex]; return step.Invoke(context, () => InnerInvoke(context, currentIndex + 1)); }
public Task Invoke(IncomingContext context, Func <Task> next) { countdown.Signal(); return(next()); }
public Task Invoke(IncomingContext context, Func <Task> next) { context.Message.Id.Output(); return(next()); }
public async Task Invoke(IncomingContext context, Func <Task> next) { await Task.Delay(1000).ConfigureAwait(false); await next().ConfigureAwait(false); }
public Task Invoke(IncomingContext context) { return(InnerInvoke(context)); }
public Task Invoke(IncomingContext context, Func<Task> next) { countdown.Signal(); return next(); }
public Task Invoke(IncomingContext context, Func<Task> next) { context.Message.Id.Output(); return next(); }
public async Task Invoke(IncomingContext context, Func<Task> next) { await Task.Delay(1000).ConfigureAwait(false); await next().ConfigureAwait(false); }
static Task Connector(ChainFactory factory, TransportMessage message) { var pipeline = factory.Create(); var context = new IncomingContext(message); return pipeline.Invoke(context); }
public Task Invoke(IncomingContext context) { return InnerInvoke(context); }