While I understand the logic of what you're saying, I don't understand what would cause this. In what situations would you get a search result with ClientManager::getInstance()->findHub(hubIpPort) returning an empty url for it? The hub:ip is required in the $SR and findHub() iterates over all of the available hubs you are connected to. The only situation I can see is if you got a search result from a hub (if passive) or user (if active) after leaving the hub you initiated the search from. However, in that case you wouldn't want the search result anyway since you're not in the hub to download it.
While I understand the logic of what you're saying, I don't understand what would cause this. In what situations would you get a search result with ClientManager: :getInstance( )->findHub( hubIpPort) returning an empty url for it? The hub:ip is required in the $SR and findHub() iterates over all of the available hubs you are connected to. The only situation I can see is if you got a search result from a hub (if passive) or user (if active) after leaving the hub you initiated the search from. However, in that case you wouldn't want the search result anyway since you're not in the hub to download it.