From c5b415b89f2f985aebd2e9ed080b9e8aa7442e80 Mon Sep 17 00:00:00 2001 From: Steven Siloti Date: Sat, 15 Sep 2018 13:40:11 -0700 Subject: [PATCH] remove dead code udp_tracker_connection::pick_target_endpoint Endpoints are filtered by address family in name_lookup() so this function will always return the first endpoint. --- include/libtorrent/udp_tracker_connection.hpp | 2 - src/udp_tracker_connection.cpp | 42 +------------------ 2 files changed, 2 insertions(+), 42 deletions(-) diff --git a/include/libtorrent/udp_tracker_connection.hpp b/include/libtorrent/udp_tracker_connection.hpp index a6e3ca74c..99c337d76 100644 --- a/include/libtorrent/udp_tracker_connection.hpp +++ b/include/libtorrent/udp_tracker_connection.hpp @@ -104,8 +104,6 @@ namespace libtorrent { void on_timeout(error_code const& ec) override; - udp::endpoint pick_target_endpoint() const; - std::string m_hostname; std::vector m_endpoints; diff --git a/src/udp_tracker_connection.cpp b/src/udp_tracker_connection.cpp index d03281182..ddf2d3e95 100644 --- a/src/udp_tracker_connection.cpp +++ b/src/udp_tracker_connection.cpp @@ -154,7 +154,7 @@ namespace libtorrent { #endif // pick another target endpoint and try again - m_target = pick_target_endpoint(); + m_target = udp::endpoint(m_endpoints.front().address(), m_endpoints.front().port()); #ifndef TORRENT_DISABLE_LOGGING if (cb && cb->should_log()) @@ -252,49 +252,11 @@ namespace libtorrent { return; } - m_target = pick_target_endpoint(); + m_target = udp::endpoint(m_endpoints.front().address(), m_endpoints.front().port()); start_announce(); } - udp::endpoint udp_tracker_connection::pick_target_endpoint() const - { - auto iter = m_endpoints.begin(); - udp::endpoint target = udp::endpoint(iter->address(), iter->port()); - - if (bind_interface() != address_v4::any()) - { - // find first endpoint that matches our bind interface type - for (; iter != m_endpoints.end() && is_v4(*iter) - != bind_interface().is_v4(); ++iter); - - if (iter == m_endpoints.end()) - { - TORRENT_ASSERT(target.address().is_v4() != bind_interface().is_v4()); - std::shared_ptr cb = requester(); - if (cb) - { - char const* tracker_address_type = is_v4(target) ? "IPv4" : "IPv6"; - char const* bind_address_type = bind_interface().is_v4() ? "IPv4" : "IPv6"; - char msg[200]; - std::snprintf(msg, sizeof(msg) - , "the tracker only resolves to an %s address, and you're " - "listening on an %s socket. This may prevent you from receiving " - "incoming connections." - , tracker_address_type, bind_address_type); - - cb->tracker_warning(tracker_req(), msg); - } - } - else - { - target = udp::endpoint(iter->address(), iter->port()); - } - } - - return target; - } - void udp_tracker_connection::start_announce() { std::unique_lock l(m_cache_mutex);