diff --git a/cpp/core/internal/p2p_cluster_pcp_handler.cc b/cpp/core/internal/p2p_cluster_pcp_handler.cc index beaec48b..839cb96d 100644 --- a/cpp/core/internal/p2p_cluster_pcp_handler.cc +++ b/cpp/core/internal/p2p_cluster_pcp_handler.cc @@ -13,6 +13,7 @@ // limitations under the License. #include "core/internal/p2p_cluster_pcp_handler.h" + #include "platform/api/hash_utils.h" namespace location { diff --git a/cpp/core_v2/internal/bwu_manager.cc b/cpp/core_v2/internal/bwu_manager.cc index 92c366bd..2ac7ed5d 100644 --- a/cpp/core_v2/internal/bwu_manager.cc +++ b/cpp/core_v2/internal/bwu_manager.cc @@ -488,9 +488,8 @@ void BwuManager::ProcessLastWriteToPriorChannelEvent( successfully_upgraded_endpoints_.emplace(endpoint_id); return; } - try { - previous_endpoint_channel->Write(parser::ForBwuSafeToClose()); - } catch (IOException e) { + + if (!previous_endpoint_channel->Write(parser::ForBwuSafeToClose()).Ok()) { previous_endpoint_channel->Close(DisconnectionReason::IO_ERROR); // Remove this prior EndpointChannel from previous_endpoint_channels to // avoid leaks. @@ -503,6 +502,7 @@ void BwuManager::ProcessLastWriteToPriorChannelEvent( endpoint_id.c_str()); return; } + // The upgrade protocol's clean shutdown of the prior EndpointChannel will // conclude when we receive a corresponding // BANDWIDTH_UPGRADE_NEGOTIATION.SAFE_TO_CLOSE_PRIOR_CHANNEL OfflineFrame @@ -599,7 +599,7 @@ void BwuManager::ProcessUpgradeFailureEvent( Medium last = parser::UpgradePathInfoMediumToMedium(upgrade_info.medium()); std::vector all_possible_mediums = client->GetUpgradeMediums(endpoint_id).GetMediums(true); - std::vector untried_mediums(all_possible_mediums); + std::vector untried_mediums(all_possible_mediums); for (Medium medium : all_possible_mediums) { untried_mediums.erase(untried_mediums.begin()); if (medium == last) { diff --git a/cpp/core_v2/internal/bwu_manager.h b/cpp/core_v2/internal/bwu_manager.h index c0b00853..df5b5c58 100644 --- a/cpp/core_v2/internal/bwu_manager.h +++ b/cpp/core_v2/internal/bwu_manager.h @@ -16,6 +16,7 @@ #define CORE_V2_INTERNAL_BWU_MANAGER_H_ #include +#include #include "core_v2/internal/bwu_handler.h" #include "core_v2/internal/client_proxy.h" diff --git a/cpp/core_v2/internal/mediums/utils.cc b/cpp/core_v2/internal/mediums/utils.cc index 9d01866c..b4545150 100644 --- a/cpp/core_v2/internal/mediums/utils.cc +++ b/cpp/core_v2/internal/mediums/utils.cc @@ -67,7 +67,7 @@ std::string Utils::WrapUpgradeServiceId(const std::string& service_id) { std::string Utils::UnwrapUpgradeServiceId( const std::string& upgrade_service_id) { - auto pos = upgrade_service_id.find(kUpgradeServiceIdPostfix); + auto pos = upgrade_service_id.find(std::string(kUpgradeServiceIdPostfix)); if (pos != std::string::npos) { return std::string(upgrade_service_id, 0, pos); }