@Override
protected void handleGetTopicsOfNamespace(CommandGetTopicsOfNamespace commandGetTopicsOfNamespace) {
final long requestId = commandGetTopicsOfNamespace.getRequestId();
final String namespace = commandGetTopicsOfNamespace.getNamespace();
final CommandGetTopicsOfNamespace.Mode mode = commandGetTopicsOfNamespace.getMode();
try {
final NamespaceName namespaceName = NamespaceName.get(namespace);
final List<String> topics = getBrokerService().pulsar().getNamespaceService()
.getListOfTopics(namespaceName, mode);
if (log.isDebugEnabled()) {
log.debug("[{}] Received CommandGetTopicsOfNamespace for namespace [//{}] by {}, size:{}",
remoteAddress, namespace, requestId, topics.size());
}
ctx.writeAndFlush(Commands.newGetTopicsOfNamespaceResponse(topics, requestId));
} catch (Exception e) {
log.warn("[{]] Error GetTopicsOfNamespace for namespace [//{}] by {}",
remoteAddress, namespace, requestId);
ctx.writeAndFlush(
Commands.newError(requestId,
BrokerServiceException.getClientErrorCode(new ServerMetadataException(e)),
e.getMessage()));
}
}