Esempio n. 1
0
        private async ValueTask <int> ChoosePartitions(MessageMetadata metadata, CancellationToken cancellationToken)
        {
            if (_producerCount == 0)
            {
                _ = await _state.StateChangedFrom(ProducerState.Disconnected, cancellationToken).ConfigureAwait(false);

                if (_throw is not null)
                {
                    throw _throw;
                }
            }

            if (_producerCount == 1)
            {
                return(0);
            }

            return(_messageRouter.ChoosePartition(metadata, _producerCount));
        }