From 6f8fa5af77808849cb5f2de39c469cbe44bf91c6 Mon Sep 17 00:00:00 2001 From: Harald Alvestrand Date: Thu, 14 Oct 2021 13:57:07 +0000 Subject: [PATCH] Reland "Use AsyncDnsResolver API in bindings and tests" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit fc5a4f74ac13dc878cb8428a7c19c8bcf0ee8037. Reason for revert: Added back support for old API Original change's description: > Revert "Use AsyncDnsResolver API in bindings and tests" > > This reverts commit a0577605b03da461719ce5b5eb0fb1ed55ad1065. > > Reason for revert: Speculative revert due to downstream tests > > Original change's description: > > Use AsyncDnsResolver API in bindings and tests > > > > Bug: webrtc:12598 > > Change-Id: Ia4db91bf6dcd257cd85f4089dee4c7bbea433216 > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/234342 > > Commit-Queue: Harald Alvestrand > > Commit-Queue: Markus Handell > > Reviewed-by: Markus Handell > > Cr-Commit-Position: refs/heads/main@{#35154} > > TBR=hta@webrtc.org,handellm@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com > > Change-Id: I57f3ff70b6374e7be670526a90dfb1651e9b1148 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: webrtc:12598 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/234382 > Reviewed-by: Björn Terelius > Commit-Queue: Björn Terelius > Cr-Commit-Position: refs/heads/main@{#35157} # Not skipping CQ checks because original CL landed > 1 day ago. Bug: webrtc:12598 Change-Id: Icf2cee36746006979b790e5846a2889b54d25386 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/235204 Commit-Queue: Harald Alvestrand Reviewed-by: Markus Handell Cr-Commit-Position: refs/heads/main@{#35211} --- p2p/BUILD.gn | 1 + p2p/base/basic_packet_socket_factory.cc | 11 ++++++++--- p2p/base/basic_packet_socket_factory.h | 13 +++++++++++++ p2p/base/port_unittest.cc | 5 ++++- test/network/emulated_turn_server.cc | 3 ++- 5 files changed, 28 insertions(+), 5 deletions(-) diff --git a/p2p/BUILD.gn b/p2p/BUILD.gn index 3029e0ac44..d09cab9edc 100644 --- a/p2p/BUILD.gn +++ b/p2p/BUILD.gn @@ -108,6 +108,7 @@ rtc_library("rtc_p2p") { "../rtc_base:rtc_numerics", "../rtc_base:socket", "../rtc_base:socket_address", + "../rtc_base:socket_factory", "../rtc_base:socket_server", "../rtc_base:threading", "../rtc_base/experiments:field_trial_parser", diff --git a/p2p/base/basic_packet_socket_factory.cc b/p2p/base/basic_packet_socket_factory.cc index a53ed96bfe..901e3b9eeb 100644 --- a/p2p/base/basic_packet_socket_factory.cc +++ b/p2p/base/basic_packet_socket_factory.cc @@ -14,16 +14,15 @@ #include +#include "api/async_dns_resolver.h" +#include "api/wrapping_async_dns_resolver.h" #include "p2p/base/async_stun_tcp_socket.h" -#include "rtc_base/async_resolver.h" #include "rtc_base/async_tcp_socket.h" #include "rtc_base/async_udp_socket.h" #include "rtc_base/checks.h" #include "rtc_base/logging.h" -#include "rtc_base/net_helpers.h" #include "rtc_base/socket.h" #include "rtc_base/socket_adapters.h" -#include "rtc_base/socket_server.h" #include "rtc_base/ssl_adapter.h" namespace rtc { @@ -194,6 +193,12 @@ AsyncResolverInterface* BasicPacketSocketFactory::CreateAsyncResolver() { return new AsyncResolver(); } +std::unique_ptr +BasicPacketSocketFactory::CreateAsyncDnsResolver() { + return std::make_unique( + new AsyncResolver()); +} + int BasicPacketSocketFactory::BindSocket(Socket* socket, const SocketAddress& local_address, uint16_t min_port, diff --git a/p2p/base/basic_packet_socket_factory.h b/p2p/base/basic_packet_socket_factory.h index 616d6de9db..f4282e1ad0 100644 --- a/p2p/base/basic_packet_socket_factory.h +++ b/p2p/base/basic_packet_socket_factory.h @@ -11,10 +11,18 @@ #ifndef P2P_BASE_BASIC_PACKET_SOCKET_FACTORY_H_ #define P2P_BASE_BASIC_PACKET_SOCKET_FACTORY_H_ +#include + +#include #include +#include "api/async_dns_resolver.h" #include "api/packet_socket_factory.h" +#include "rtc_base/async_packet_socket.h" +#include "rtc_base/proxy_info.h" #include "rtc_base/socket.h" +#include "rtc_base/socket_address.h" +#include "rtc_base/socket_factory.h" namespace rtc { @@ -39,8 +47,13 @@ class BasicPacketSocketFactory : public PacketSocketFactory { const std::string& user_agent, const PacketSocketTcpOptions& tcp_options) override; + // TODO(bugs.webrtc.org/12598) Remove when downstream stops using it. + ABSL_DEPRECATED("Use CreateAsyncDnsResolver") AsyncResolverInterface* CreateAsyncResolver() override; + std::unique_ptr CreateAsyncDnsResolver() + override; + private: int BindSocket(Socket* socket, const SocketAddress& local_address, diff --git a/p2p/base/port_unittest.cc b/p2p/base/port_unittest.cc index a610eb5fb7..52153d8c90 100644 --- a/p2p/base/port_unittest.cc +++ b/p2p/base/port_unittest.cc @@ -1002,7 +1002,10 @@ class FakePacketSocketFactory : public rtc::PacketSocketFactory { void set_next_client_tcp_socket(AsyncPacketSocket* next_client_tcp_socket) { next_client_tcp_socket_ = next_client_tcp_socket; } - rtc::AsyncResolverInterface* CreateAsyncResolver() override { return NULL; } + std::unique_ptr CreateAsyncDnsResolver() + override { + return nullptr; + } private: AsyncPacketSocket* next_udp_socket_; diff --git a/test/network/emulated_turn_server.cc b/test/network/emulated_turn_server.cc index 4cd2b51366..07118bc0ac 100644 --- a/test/network/emulated_turn_server.cc +++ b/test/network/emulated_turn_server.cc @@ -101,7 +101,8 @@ class PacketSocketFactoryWrapper : public rtc::PacketSocketFactory { const rtc::PacketSocketTcpOptions& tcp_options) override { return nullptr; } - rtc::AsyncResolverInterface* CreateAsyncResolver() override { + std::unique_ptr CreateAsyncDnsResolver() + override { return nullptr; }