async Task <BatchConsumer <TConsumer, TMessage> > Add(ConsumeContext <TMessage> context) { if (_currentConsumer != null) { if (context.GetRetryAttempt() > 0) { await _currentConsumer.ForceComplete().ConfigureAwait(false); } } if (_currentConsumer == null || _currentConsumer.IsCompleted) { _currentConsumer = new BatchConsumer <TConsumer, TMessage>(_messageLimit, _timeLimit, _collector, _dispatcher, _consumerFactory, _consumerPipe); } await _currentConsumer.Add(context).ConfigureAwait(false); return(_currentConsumer); }
BatchConsumer <TConsumer, TMessage> Add(ConsumeContext <TMessage> context) { if (_currentConsumer != null) { if (context.GetRetryAttempt() > 0) { _currentConsumer.ForceComplete(); } } if (_currentConsumer == null || _currentConsumer.IsCompleted) { _currentConsumer = new BatchConsumer <TConsumer, TMessage>(_messageLimit, _timeLimit, _scheduler, _consumerFactory, _consumerPipe); } _currentConsumer.Add(context); BatchConsumer <TConsumer, TMessage> consumer = _currentConsumer; return(consumer); }