in src/DotPulsar/Internal/ChannelManager.cs [261:277]
private void HandleAdditionalProducerSuccess(CommandProducer command, Action<ulong> successAction)
{
_ = _requestResponseHandler.ExpectAdditionalResponse(command).ContinueWith(response =>
{
if (response.IsCanceled || response.IsFaulted || response.Result.CommandType == BaseCommand.Type.Error)
{
_producerChannels[command.ProducerId]?.Disconnected();
return;
}
if (!response.Result.ProducerSuccess.ProducerReady)
{
HandleAdditionalProducerSuccess(command, successAction);
return;
}
successAction.Invoke(response.Result.ProducerSuccess.TopicEpoch);
});
}