in rocketmq-client-csharp/ClientManager.cs [83:104]
public async Task<TopicRouteData> ResolveRoute(string target, grpc::Metadata metadata,
rmq::QueryRouteRequest request, TimeSpan timeout)
{
var rpcClient = GetRpcClient(target);
Logger.Debug($"QueryRouteRequest: {request}");
var queryRouteResponse = await rpcClient.QueryRoute(metadata, request, timeout);
if (queryRouteResponse.Status.Code != rmq::Code.Ok)
{
Logger.Warn($"Failed to query route entries for topic={request.Topic.Name} from {target}: {queryRouteResponse.Status}");
// Raise an application layer exception
}
Logger.Debug($"QueryRouteResponse: {queryRouteResponse}");
var messageQueues = new List<rmq::MessageQueue>();
foreach (var messageQueue in queryRouteResponse.MessageQueues)
{
messageQueues.Add(messageQueue);
}
var topicRouteData = new TopicRouteData(messageQueues);
return topicRouteData;
}