public async Task Send(TestContext context, IPipe <TestContext> next) { if (_faultCount > 0 && _faultCount < context.Attempts) { context.Attempts++; throw new NotSupportedException("Intentional"); } await _report.Consumed <ThroughputTestContext>(context.CorrelationId).ConfigureAwait(false); await next.Send(context).ConfigureAwait(false); }
public async Task Consume(ConsumeContext <LatencyTestMessage> context) { var current = Interlocked.Increment(ref CurrentConsumerCount); var maxConsumerCount = MaxConsumerCount; if (current > maxConsumerCount) { Interlocked.CompareExchange(ref MaxConsumerCount, current, maxConsumerCount); } try { await _report.Consumed <LatencyTestMessage>(context.Message.CorrelationId).ConfigureAwait(false); } finally { Interlocked.Decrement(ref CurrentConsumerCount); } }
public async Task Consume(ConsumeContext <RequestMessage> context) { var current = Interlocked.Increment(ref CurrentConsumerCount); var maxConsumercount = MaxConsumerCount; if (current > maxConsumercount) { Interlocked.CompareExchange(ref MaxConsumerCount, current, maxConsumercount); } try { context.Respond(new ResponseMessage(context.Message.CorrelationId)); await _report.Consumed <RequestMessage>(context.Message.CorrelationId); } finally { Interlocked.Decrement(ref CurrentConsumerCount); } }
public Task <bool> Handle(BenchmarkMessage message) { _reporter.Consumed <BenchmarkMessage>(message.Id); return(Task.FromResult(true)); }