diff --git a/api/BUILD.gn b/api/BUILD.gn
index f02c5fd..3c73d51 100644
--- a/api/BUILD.gn
+++ b/api/BUILD.gn
@@ -52,6 +52,7 @@
       "../pc:peerconnection",
       "../rtc_base",
       "../rtc_base:rtc_base_approved",
+      "../rtc_base:threading",
       "audio:audio_mixer_api",
       "audio_codecs:audio_codecs_api",
       "task_queue:default_task_queue_factory",
@@ -174,6 +175,7 @@
     ":rtp_parameters",
     ":rtp_transceiver_direction",
     ":scoped_refptr",
+    "../rtc_base:network_constants",
     "adaptation:resource_adaptation_api",
     "audio:audio_mixer_api",
     "audio_codecs:audio_codecs_api",
@@ -204,7 +206,10 @@
     "../rtc_base",
     "../rtc_base:checks",
     "../rtc_base:deprecation",
+    "../rtc_base:ip_address",
     "../rtc_base:rtc_base_approved",
+    "../rtc_base:socket_address",
+    "../rtc_base:threading",
     "../rtc_base/system:rtc_export",
   ]
   absl_deps = [
@@ -248,6 +253,7 @@
     "packet_socket_factory.h",
   ]
   deps = [
+    "../rtc_base:async_resolver_interface",
     "../rtc_base:rtc_base",
     "../rtc_base/system:rtc_export",
   ]
@@ -383,6 +389,7 @@
     ":video_quality_analyzer_api",
     "../media:rtc_media_base",
     "../rtc_base:rtc_base",
+    "../rtc_base:threading",
     "rtc_event_log",
     "task_queue",
     "transport:network_control",
@@ -600,6 +607,8 @@
     ":time_controller",
     "../call:simulated_network",
     "../rtc_base",
+    "../rtc_base:network_constants",
+    "../rtc_base:threading",
     "test/network_emulation",
     "units:data_rate",
     "units:data_size",
@@ -617,6 +626,7 @@
   deps = [
     "../modules/utility",
     "../rtc_base",
+    "../rtc_base:threading",
     "../rtc_base/synchronization:yield_policy",
     "../system_wrappers",
     "task_queue",
@@ -670,6 +680,7 @@
     ":scoped_refptr",
     "../p2p:rtc_p2p",
     "../rtc_base",
+    "../rtc_base:threading",
     "../rtc_base/system:rtc_export",
     "rtc_event_log:rtc_event_log",
   ]
diff --git a/api/test/network_emulation/BUILD.gn b/api/test/network_emulation/BUILD.gn
index fb7bedc..a996ba7 100644
--- a/api/test/network_emulation/BUILD.gn
+++ b/api/test/network_emulation/BUILD.gn
@@ -20,7 +20,9 @@
     "../..:array_view",
     "../../../rtc_base",
     "../../../rtc_base:checks",
+    "../../../rtc_base:ip_address",
     "../../../rtc_base:rtc_base_approved",
+    "../../../rtc_base:socket_address",
     "../../numerics",
     "../../units:data_rate",
     "../../units:data_size",
diff --git a/api/transport/BUILD.gn b/api/transport/BUILD.gn
index 7bcda8b..7d23adc 100644
--- a/api/transport/BUILD.gn
+++ b/api/transport/BUILD.gn
@@ -108,8 +108,10 @@
   deps = [
     "../../api:array_view",
     "../../rtc_base:checks",
+    "../../rtc_base:ip_address",
     "../../rtc_base:rtc_base",
     "../../rtc_base:rtc_base_approved",
+    "../../rtc_base:socket_address",
   ]
   absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
 }
@@ -147,6 +149,7 @@
       ":stun_types",
       "../../rtc_base",
       "../../rtc_base:rtc_base_approved",
+      "../../rtc_base:socket_address",
       "../../test:test_support",
       "//testing/gtest",
     ]
diff --git a/audio/BUILD.gn b/audio/BUILD.gn
index 6901e33..1fea09c 100644
--- a/audio/BUILD.gn
+++ b/audio/BUILD.gn
@@ -90,6 +90,7 @@
     "../rtc_base:rtc_base_approved",
     "../rtc_base:rtc_task_queue",
     "../rtc_base:safe_minmax",
+    "../rtc_base:threading",
     "../rtc_base/experiments:field_trial_parser",
     "../rtc_base/synchronization:mutex",
     "../rtc_base/synchronization:sequence_checker",
diff --git a/call/BUILD.gn b/call/BUILD.gn
index cef43f4..7730382 100644
--- a/call/BUILD.gn
+++ b/call/BUILD.gn
@@ -504,6 +504,7 @@
       "../rtc_base:rtc_base_approved",
       "../rtc_base:task_queue_for_test",
       "../rtc_base:task_queue_for_test",
+      "../rtc_base:threading",
       "../rtc_base/synchronization:mutex",
       "../rtc_base/task_utils:repeating_task",
       "../system_wrappers",
diff --git a/examples/BUILD.gn b/examples/BUILD.gn
index c267896..a08ab46 100644
--- a/examples/BUILD.gn
+++ b/examples/BUILD.gn
@@ -686,6 +686,8 @@
       "../p2p:rtc_p2p",
       "../pc:video_track_source",
       "../rtc_base:checks",
+      "../rtc_base:net_helpers",
+      "../rtc_base:threading",
       "../rtc_base/third_party/sigslot",
       "../system_wrappers:field_trial",
       "../test:field_trial",
@@ -777,7 +779,11 @@
       "../p2p:rtc_p2p",
       "../pc:rtc_pc",
       "../rtc_base",
+      "../rtc_base:ip_address",
       "../rtc_base:rtc_base_approved",
+      "../rtc_base:socket_address",
+      "../rtc_base:socket_server",
+      "../rtc_base:threading",
     ]
   }
   rtc_executable("stunserver") {
@@ -789,6 +795,9 @@
       "../pc:rtc_pc",
       "../rtc_base",
       "../rtc_base:rtc_base_approved",
+      "../rtc_base:socket_address",
+      "../rtc_base:socket_server",
+      "../rtc_base:threading",
     ]
   }
 }
@@ -912,6 +921,8 @@
       "../rtc_base",
       "../rtc_base:checks",
       "../rtc_base:rtc_base_approved",
+      "../rtc_base:socket_address",
+      "../rtc_base:threading",
       "//third_party/abseil-cpp/absl/flags:flag",
       "//third_party/abseil-cpp/absl/flags:parse",
     ]
diff --git a/examples/androidvoip/BUILD.gn b/examples/androidvoip/BUILD.gn
index 649e601..31b20d3 100644
--- a/examples/androidvoip/BUILD.gn
+++ b/examples/androidvoip/BUILD.gn
@@ -56,6 +56,9 @@
 
     deps = [
       ":generated_jni",
+      "../../rtc_base:socket_address",
+      "../../rtc_base:socket_server",
+      "../../rtc_base:threading",
       "//api:transport_api",
       "//api/audio_codecs:audio_codecs_api",
       "//api/audio_codecs:builtin_audio_decoder_factory",
diff --git a/logging/BUILD.gn b/logging/BUILD.gn
index b38e599..720cb50 100644
--- a/logging/BUILD.gn
+++ b/logging/BUILD.gn
@@ -288,6 +288,7 @@
     "../api/rtc_event_log",
     "../rtc_base",
     "../rtc_base:checks",
+    "../rtc_base:threading",
   ]
 }
 
diff --git a/media/BUILD.gn b/media/BUILD.gn
index f653af7..cc78053 100644
--- a/media/BUILD.gn
+++ b/media/BUILD.gn
@@ -113,6 +113,7 @@
     "../rtc_base:rtc_base_approved",
     "../rtc_base:rtc_task_queue",
     "../rtc_base:sanitizer",
+    "../rtc_base:socket",
     "../rtc_base:stringutils",
     "../rtc_base/synchronization:mutex",
     "../rtc_base/synchronization:sequence_checker",
@@ -320,6 +321,7 @@
     "../rtc_base:ignore_wundef",
     "../rtc_base:rtc_task_queue",
     "../rtc_base:stringutils",
+    "../rtc_base:threading",
     "../rtc_base/experiments:field_trial_parser",
     "../rtc_base/experiments:min_video_bitrate_experiment",
     "../rtc_base/experiments:normalize_simulcast_size_experiment",
@@ -407,6 +409,7 @@
     "../p2p:rtc_p2p",
     "../rtc_base",
     "../rtc_base:rtc_base_approved",
+    "../rtc_base:threading",
     "../rtc_base/synchronization:mutex",
     "../rtc_base/task_utils:pending_task_safety_flag",
     "../rtc_base/task_utils:to_queued_task",
@@ -483,6 +486,7 @@
       "../rtc_base:rtc_base_approved",
       "../rtc_base:rtc_task_queue",
       "../rtc_base:stringutils",
+      "../rtc_base:threading",
       "../rtc_base/synchronization:mutex",
       "../rtc_base/third_party/sigslot",
       "../test:test_support",
@@ -592,6 +596,7 @@
       "../rtc_base:rtc_base_tests_utils",
       "../rtc_base:rtc_task_queue",
       "../rtc_base:stringutils",
+      "../rtc_base:threading",
       "../rtc_base/experiments:min_video_bitrate_experiment",
       "../rtc_base/synchronization:mutex",
       "../rtc_base/third_party/sigslot",
diff --git a/modules/audio_processing/BUILD.gn b/modules/audio_processing/BUILD.gn
index dbb1882..f2f28a7 100644
--- a/modules/audio_processing/BUILD.gn
+++ b/modules/audio_processing/BUILD.gn
@@ -367,6 +367,7 @@
       "../../rtc_base:rtc_base_tests_utils",
       "../../rtc_base:safe_minmax",
       "../../rtc_base:task_queue_for_test",
+      "../../rtc_base:threading",
       "../../rtc_base/synchronization:mutex",
       "../../rtc_base/system:arch",
       "../../rtc_base/system:file_wrapper",
diff --git a/modules/video_coding/BUILD.gn b/modules/video_coding/BUILD.gn
index b706c6b..2373b9f 100644
--- a/modules/video_coding/BUILD.gn
+++ b/modules/video_coding/BUILD.gn
@@ -189,6 +189,7 @@
     "../../rtc_base:rtc_base_approved",
     "../../rtc_base:rtc_numerics",
     "../../rtc_base:rtc_task_queue",
+    "../../rtc_base:threading",
     "../../rtc_base/experiments:alr_experiment",
     "../../rtc_base/experiments:field_trial_parser",
     "../../rtc_base/experiments:jitter_upper_bound_experiment",
diff --git a/p2p/BUILD.gn b/p2p/BUILD.gn
index d4330ef..5838f31 100644
--- a/p2p/BUILD.gn
+++ b/p2p/BUILD.gn
@@ -96,8 +96,17 @@
     "../api/transport:stun_types",
     "../logging:ice_log",
     "../rtc_base",
+    "../rtc_base:async_resolver_interface",
+    "../rtc_base:async_socket",
     "../rtc_base:checks",
+    "../rtc_base:ip_address",
+    "../rtc_base:net_helpers",
+    "../rtc_base:network_constants",
     "../rtc_base:rtc_numerics",
+    "../rtc_base:socket",
+    "../rtc_base:socket_address",
+    "../rtc_base:socket_server",
+    "../rtc_base:threading",
     "../rtc_base/experiments:field_trial_parser",
     "../rtc_base/synchronization:sequence_checker",
     "../rtc_base/system:no_unique_address",
@@ -148,6 +157,8 @@
     deps = [
       ":rtc_p2p",
       "../rtc_base",
+      "../rtc_base:net_helpers",
+      "../rtc_base:threading",
     ]
   }
 
@@ -173,9 +184,14 @@
       "../api/crypto:options",
       "../api/transport:stun_types",
       "../rtc_base",
+      "../rtc_base:async_resolver_interface",
+      "../rtc_base:async_socket",
       "../rtc_base:gunit_helpers",
       "../rtc_base:rtc_base_approved",
       "../rtc_base:rtc_base_tests_utils",
+      "../rtc_base:socket_address",
+      "../rtc_base:socket_server",
+      "../rtc_base:threading",
       "../rtc_base/third_party/sigslot",
       "../test:test_support",
     ]
@@ -221,11 +237,18 @@
       "../api/transport:stun_types",
       "../api/units:time_delta",
       "../rtc_base",
+      "../rtc_base:async_socket",
       "../rtc_base:checks",
       "../rtc_base:gunit_helpers",
+      "../rtc_base:ip_address",
+      "../rtc_base:net_helpers",
+      "../rtc_base:network_constants",
       "../rtc_base:rtc_base_approved",
       "../rtc_base:rtc_base_tests_utils",
+      "../rtc_base:socket",
+      "../rtc_base:socket_address",
       "../rtc_base:testclient",
+      "../rtc_base:threading",
       "../rtc_base/network:sent_packet",
       "../rtc_base/third_party/sigslot",
       "../system_wrappers:metrics",
@@ -256,6 +279,8 @@
     "../rtc_base",
     "../rtc_base:checks",
     "../rtc_base:rtc_base_tests_utils",
+    "../rtc_base:socket_address",
+    "../rtc_base:threading",
     "../rtc_base/third_party/sigslot",
   ]
   absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container" ]
@@ -273,7 +298,11 @@
     "../api:packet_socket_factory",
     "../api/transport:stun_types",
     "../rtc_base",
+    "../rtc_base:async_resolver_interface",
     "../rtc_base:checks",
+    "../rtc_base:ip_address",
+    "../rtc_base:socket_address",
+    "../rtc_base:threading",
     "../rtc_base/system:rtc_export",
   ]
 }
@@ -290,6 +319,7 @@
       "../rtc_base",
       "../rtc_base:checks",
       "../rtc_base:gunit_helpers",
+      "../rtc_base:ip_address",
       "../rtc_base:rtc_base_tests_utils",
       "../test:test_support",
       "//testing/gtest",
diff --git a/p2p/base/basic_async_resolver_factory.cc b/p2p/base/basic_async_resolver_factory.cc
index 9d8266e..027358b 100644
--- a/p2p/base/basic_async_resolver_factory.cc
+++ b/p2p/base/basic_async_resolver_factory.cc
@@ -10,7 +10,7 @@
 
 #include "p2p/base/basic_async_resolver_factory.h"
 
-#include "rtc_base/net_helpers.h"
+#include "rtc_base/async_resolver.h"
 
 namespace webrtc {
 
diff --git a/p2p/base/basic_packet_socket_factory.cc b/p2p/base/basic_packet_socket_factory.cc
index ebc11bb..232e58b 100644
--- a/p2p/base/basic_packet_socket_factory.cc
+++ b/p2p/base/basic_packet_socket_factory.cc
@@ -15,6 +15,7 @@
 #include <string>
 
 #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"
diff --git a/p2p/base/stun_port.cc b/p2p/base/stun_port.cc
index 4e1a1f6..7a76af5 100644
--- a/p2p/base/stun_port.cc
+++ b/p2p/base/stun_port.cc
@@ -17,11 +17,11 @@
 #include "p2p/base/connection.h"
 #include "p2p/base/p2p_constants.h"
 #include "p2p/base/port_allocator.h"
+#include "rtc_base/async_resolver_interface.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/helpers.h"
 #include "rtc_base/ip_address.h"
 #include "rtc_base/logging.h"
-#include "rtc_base/net_helpers.h"
 #include "rtc_base/strings/string_builder.h"
 
 namespace cricket {
diff --git a/p2p/base/turn_port.h b/p2p/base/turn_port.h
index a9ec434..6f9caaf 100644
--- a/p2p/base/turn_port.h
+++ b/p2p/base/turn_port.h
@@ -25,6 +25,7 @@
 #include "p2p/client/basic_port_allocator.h"
 #include "rtc_base/async_invoker.h"
 #include "rtc_base/async_packet_socket.h"
+#include "rtc_base/async_resolver_interface.h"
 #include "rtc_base/ssl_certificate.h"
 
 namespace webrtc {
diff --git a/pc/BUILD.gn b/pc/BUILD.gn
index 143ce25..9e296b5 100644
--- a/pc/BUILD.gn
+++ b/pc/BUILD.gn
@@ -114,7 +114,9 @@
     "../rtc_base:checks",
     "../rtc_base:deprecation",
     "../rtc_base:rtc_task_queue",
+    "../rtc_base:socket_address",
     "../rtc_base:stringutils",
+    "../rtc_base:threading",
     "../rtc_base/synchronization:mutex",
     "../rtc_base/synchronization:sequence_checker",
     "../rtc_base/system:file_wrapper",
@@ -277,9 +279,13 @@
     "../rtc_base:callback_list",
     "../rtc_base:checks",
     "../rtc_base:deprecation",
+    "../rtc_base:ip_address",
+    "../rtc_base:network_constants",
     "../rtc_base:rtc_base_approved",
     "../rtc_base:rtc_operations_chain",
     "../rtc_base:safe_minmax",
+    "../rtc_base:socket_address",
+    "../rtc_base:threading",
     "../rtc_base:weak_ptr",
     "../rtc_base/experiments:field_trial_parser",
     "../rtc_base/network:sent_packet",
@@ -324,6 +330,7 @@
     "../p2p:rtc_p2p",
     "../rtc_base",
     "../rtc_base:checks",
+    "../rtc_base:threading",
   ]
 }
 
@@ -338,6 +345,7 @@
     "../api:media_stream_interface",
     "../api:rtc_error",
     "../rtc_base",
+    "../rtc_base:threading",
     "../rtc_base/synchronization:sequence_checker",
   ]
 }
@@ -400,6 +408,7 @@
     "../media:rtc_media_base",
     "../rtc_base",
     "../rtc_base:checks",
+    "../rtc_base:threading",
     "../rtc_base/third_party/sigslot",
   ]
   absl_deps = [
@@ -436,6 +445,7 @@
     "../rtc_base:logging",
     "../rtc_base:rtc_base",
     "../rtc_base:rtc_base_approved",
+    "../rtc_base:threading",
   ]
   absl_deps = [
     "//third_party/abseil-cpp/absl/algorithm:container",
@@ -466,6 +476,7 @@
     "../rtc_base",
     "../rtc_base:checks",
     "../rtc_base:refcount",
+    "../rtc_base:threading",
   ]
   absl_deps = [
     "//third_party/abseil-cpp/absl/algorithm:container",
@@ -498,6 +509,7 @@
     "../rtc_base",
     "../rtc_base:checks",
     "../rtc_base:rtc_base_approved",
+    "../rtc_base:threading",
   ]
   absl_deps = [
     "//third_party/abseil-cpp/absl/algorithm:container",
@@ -548,6 +560,7 @@
     "../rtc_base:checks",
     "../rtc_base:refcount",
     "../rtc_base:rtc_base_approved",
+    "../rtc_base:threading",
   ]
 }
 
@@ -593,6 +606,7 @@
     "../rtc_base:checks",
     "../rtc_base:refcount",
     "../rtc_base:safe_minmax",
+    "../rtc_base:threading",
   ]
   absl_deps = [
     "//third_party/abseil-cpp/absl/algorithm:container",
@@ -617,6 +631,7 @@
     "../rtc_base:rtc_base_approved",
     "../rtc_base:safe_conversions",
     "../rtc_base:stringutils",
+    "../rtc_base:threading",
     "../rtc_base/synchronization:mutex",
   ]
   absl_deps = [
@@ -680,6 +695,7 @@
     "../api:libjingle_peerconnection_api",
     "../rtc_base:checks",
     "../rtc_base:rtc_base",
+    "../rtc_base:threading",
   ]
   absl_deps = [
     "//third_party/abseil-cpp/absl/algorithm:container",
@@ -803,6 +819,7 @@
       "../rtc_base:gunit_helpers",
       "../rtc_base:rtc_base_approved",
       "../rtc_base:rtc_base_tests_utils",
+      "../rtc_base:threading",
       "../rtc_base/third_party/sigslot",
       "../system_wrappers:metrics",
       "../test:field_trial",
@@ -851,6 +868,8 @@
       "../rtc_base:checks",
       "../rtc_base:gunit_helpers",
       "../rtc_base:rtc_base_tests_utils",
+      "../rtc_base:socket_address",
+      "../rtc_base:threading",
       "../system_wrappers",
       "../test:perf_test",
       "../test:test_support",
@@ -951,6 +970,7 @@
       "../rtc_base:rtc_base_approved",
       "../rtc_base:rtc_task_queue",
       "../rtc_base:task_queue_for_test",
+      "../rtc_base:threading",
       "../rtc_base/synchronization:mutex",
       "../rtc_base/synchronization:sequence_checker",
       "../rtc_base/task_utils:repeating_task",
@@ -1066,8 +1086,11 @@
       "../p2p:fake_port_allocator",
       "../rtc_base:checks",
       "../rtc_base:gunit_helpers",
+      "../rtc_base:ip_address",
       "../rtc_base:rtc_base_tests_utils",
       "../rtc_base:rtc_json",
+      "../rtc_base:socket_address",
+      "../rtc_base:threading",
       "../rtc_base/synchronization:mutex",
       "../rtc_base/third_party/base64",
       "../rtc_base/third_party/sigslot",
diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn
index 3448504..c5be998 100644
--- a/rtc_base/BUILD.gn
+++ b/rtc_base/BUILD.gn
@@ -666,139 +666,216 @@
 }
 
 rtc_source_set("async_resolver") {
-  # TODO(bugs.webrtc.org/9987): This build target will soon contain
-  # async_resolver source files (see
-  # https://webrtc-review.googlesource.com/c/src/+/196903).
-  sources = [ "async_resolver.h" ]
+  # TODO(bugs.webrtc.org/9987): Remove when downstream clients have
+  # been redirected on //rtc_base:threading.
+  sources = []
 }
 
-rtc_source_set("net_helpers") {
-  # TODO(bugs.webrtc.org/9987): This build target will soon contain
-  #                             the following files:
-  # sources = [
-  #   "net_helpers.cc",
-  #   "net_helpers.h",
-  # ]
+rtc_library("net_helpers") {
+  sources = [
+    "net_helpers.cc",
+    "net_helpers.h",
+  ]
+  deps = []
+  if (is_android) {
+    deps += [ ":ifaddrs_android" ]
+  }
+  if (is_win) {
+    deps += [ ":win32" ]
+  }
 }
 
-rtc_source_set("async_resolver_interface") {
+rtc_library("async_resolver_interface") {
   visibility = [ "*" ]
-  # TODO(bugs.webrtc.org/9987): This build target will soon contain
-  #                             the following files:
-  # sources = [
-  #   "async_resolver_interface.cc",
-  #   "async_resolver_interface.h",
-  # ]
+  sources = [
+    "async_resolver_interface.cc",
+    "async_resolver_interface.h",
+  ]
+  deps = [
+    ":socket_address",
+    "system:rtc_export",
+    "third_party/sigslot",
+  ]
 }
 
-rtc_source_set("ip_address") {
+rtc_library("ip_address") {
   visibility = [ "*" ]
-  # TODO(bugs.webrtc.org/9987): This build target will soon contain
-  #                             the following files:
-  # sources = [
-  #   "ip_address.cc",
-  #   "ip_address.h",
-  # ]
+  sources = [
+    "ip_address.cc",
+    "ip_address.h",
+  ]
+  deps = [
+    ":net_helpers",
+    ":rtc_base_approved",
+    ":stringutils",
+    "system:rtc_export",
+  ]
+  if (is_win) {
+    deps += [ ":win32" ]
+  }
 }
 
-rtc_source_set("socket_address") {
+rtc_library("socket_address") {
   visibility = [ "*" ]
-  # TODO(bugs.webrtc.org/9987): This build target will soon contain
-  #                             the following files:
-  # sources = [
-  #   "socket_address.cc",
-  #   "socket_address.h",
-  # ]
+  sources = [
+    "socket_address.cc",
+    "socket_address.h",
+  ]
+  deps = [
+    ":checks",
+    ":ip_address",
+    ":logging",
+    ":net_helpers",
+    ":rtc_base_approved",
+    ":safe_conversions",
+    ":stringutils",
+    "system:rtc_export",
+  ]
+  if (is_win) {
+    deps += [ ":win32" ]
+  }
 }
 
-rtc_source_set("null_socket_server") {
-  # TODO(bugs.webrtc.org/9987): This build target will soon contain
-  #                             the following files:
-  # sources = [
-  #   "null_socket_server.cc",
-  #   "null_socket_server.h",
-  # ]
+rtc_library("null_socket_server") {
+  sources = [
+    "null_socket_server.cc",
+    "null_socket_server.h",
+  ]
+  deps = [
+    ":async_socket",
+    ":checks",
+    ":rtc_event",
+    ":socket",
+    ":socket_server",
+    "system:rtc_export",
+  ]
 }
 
 rtc_source_set("socket_server") {
-  # TODO(bugs.webrtc.org/9987): This build target will soon contain
-  #                             the following files:
-  # sources = [
-  #   "socket_server.h",
-  # ]
+  sources = [ "socket_server.h" ]
+  deps = [ ":socket_factory" ]
 }
 
-rtc_source_set("threading") {
+rtc_library("threading") {
   visibility = [ "*" ]
-  # TODO(bugs.webrtc.org/9987): This build target will soon contain
-  #                             the following files:
-  # sources = [
-  #   "asyncresolver.cc",
-  #   "asyncresolver.h",
-  #   "defaultsocketserver.cc",
-  #   "defaultsocketserver.h",
-  #   "message_handler.cc",
-  #   "message_handler.h",
-  #   "network_monitor.cc",
-  #   "network_monitor.h",
-  #   "network_monitor_factory.cc",
-  #   "network_monitor_factory.h",
-  #   "physical_socket_server.cc",
-  #   "physical_socket_server.h",
-  #   "signal_thread.cc",
-  #   "signal_thread.h",
-  #   "thread.cc",
-  #   "thread.h",
-  # ]
+
+  sources = [
+    "async_resolver.cc",
+    "async_resolver.h",
+    "internal/default_socket_server.cc",
+    "internal/default_socket_server.h",
+    "message_handler.cc",
+    "message_handler.h",
+    "network_monitor.cc",
+    "network_monitor.h",
+    "network_monitor_factory.cc",
+    "network_monitor_factory.h",
+    "physical_socket_server.cc",
+    "physical_socket_server.h",
+
+    #   "signal_thread.cc",
+    #   "signal_thread.h",
+    "thread.cc",
+    "thread.h",
+    "thread_message.h",
+  ]
+  absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container" ]
+  deps = [
+    ":async_resolver_interface",
+    ":atomicops",
+    ":checks",
+    ":criticalsection",
+    ":ip_address",
+    ":logging",
+    ":macromagic",
+    ":network_constants",
+    ":null_socket_server",
+    ":platform_thread_types",
+    ":rtc_base_approved",
+    ":rtc_event",
+    ":rtc_task_queue",
+    ":socket_address",
+    ":socket_server",
+    ":timeutils",
+    "../api:function_view",
+    "../api:scoped_refptr",
+    "../api/task_queue",
+    "synchronization:sequence_checker",
+    "system:no_unique_address",
+    "system:rtc_export",
+    "task_utils:pending_task_safety_flag",
+    "task_utils:to_queued_task",
+    "third_party/sigslot",
+  ]
+  if (is_android) {
+    deps += [ ":ifaddrs_android" ]
+  }
+  if (is_win) {
+    deps += [ ":win32" ]
+  }
+  if (is_mac || is_ios) {
+    deps += [ "system:cocoa_threading" ]
+  }
 }
 
 rtc_source_set("socket_factory") {
-  # TODO(bugs.webrtc.org/9987): This build target will soon contain
-  #                             the following files:
-  # sources = [
-  #   "socket_factory.h",
-  # ]
+  sources = [ "socket_factory.h" ]
+  deps = [
+    ":async_socket",
+    ":socket",
+  ]
 }
 
-rtc_source_set("async_socket") {
-  # TODO(bugs.webrtc.org/9987): This build target will soon contain
-  #                             the following files:
-  # sources = [
-  #   "async_socket.cc",
-  #   "async_socket.h",
-  # ]
+rtc_library("async_socket") {
+  sources = [
+    "async_socket.cc",
+    "async_socket.h",
+  ]
+  deps = [
+    ":checks",
+    ":socket",
+    ":socket_address",
+    "third_party/sigslot",
+  ]
 }
 
-rtc_source_set("socket") {
-  # TODO(bugs.webrtc.org/9987): This build target will soon contain
-  #                             the following files:
-  # sources = [
-  #   "socket.cc",
-  #   "socket.h",
-  # ]
+rtc_library("socket") {
+  sources = [
+    "socket.cc",
+    "socket.h",
+  ]
+  deps = [
+    ":macromagic",
+    ":socket_address",
+  ]
+  if (is_win) {
+    deps += [ ":win32" ]
+  }
 }
 
 rtc_source_set("network_constants") {
-  # TODO(bugs.webrtc.org/9987): This build target will soon contain
-  #                             the following files:
-  # sources = [
-  #   "network_constants.h",
-  # ]
+  sources = [
+    "network_constants.cc",
+    "network_constants.h",
+  ]
+  deps = [ ":checks" ]
 }
 
 if (is_android) {
-  rtc_source_set("ifaddrs_android") {
-    # TODO(bugs.webrtc.org/9987): This build target will soon contain
-    #                             the following files:
-    # sources = [
-    #   "ifaddrs_android.cc",
-    #   "ifaddrs_android.h",
-    # ]
+  rtc_library("ifaddrs_android") {
+    sources = [
+      "ifaddrs_android.cc",
+      "ifaddrs_android.h",
+    ]
+    libs = [
+      "log",
+      "GLESv2",
+    ]
   }
 }
 
 if (is_win) {
-  rtc_source_set("win32") {
+  rtc_library("win32") {
     sources = [
       "win32.cc",
       "win32.h",
@@ -829,10 +906,20 @@
   libs = []
   defines = []
   deps = [
+    ":async_resolver_interface",
+    ":async_socket",
     ":checks",
     ":deprecation",
+    ":ip_address",
+    ":network_constants",
+    ":null_socket_server",
     ":rtc_task_queue",
+    ":socket",
+    ":socket_address",
+    ":socket_factory",
+    ":socket_server",
     ":stringutils",
+    ":threading",
     "../api:array_view",
     "../api:function_view",
     "../api:scoped_refptr",
@@ -868,10 +955,6 @@
     "async_invoker_inl.h",
     "async_packet_socket.cc",
     "async_packet_socket.h",
-    "async_resolver_interface.cc",
-    "async_resolver_interface.h",
-    "async_socket.cc",
-    "async_socket.h",
     "async_tcp_socket.cc",
     "async_tcp_socket.h",
     "async_udp_socket.cc",
@@ -891,30 +974,16 @@
     "helpers.h",
     "http_common.cc",
     "http_common.h",
-    "ip_address.cc",
-    "ip_address.h",
     "keep_ref_until_done.h",
     "mdns_responder_interface.h",
     "message_digest.cc",
     "message_digest.h",
-    "message_handler.cc",
-    "message_handler.h",
     "net_helper.cc",
     "net_helper.h",
-    "net_helpers.cc",
-    "net_helpers.h",
     "network.cc",
     "network.h",
-    "network_constants.cc",
-    "network_constants.h",
-    "network_monitor.cc",
-    "network_monitor.h",
-    "network_monitor_factory.cc",
-    "network_monitor_factory.h",
     "network_route.cc",
     "network_route.h",
-    "null_socket_server.cc",
-    "null_socket_server.h",
     "openssl.h",
     "openssl_adapter.cc",
     "openssl_adapter.h",
@@ -928,8 +997,6 @@
     "openssl_stream_adapter.h",
     "openssl_utility.cc",
     "openssl_utility.h",
-    "physical_socket_server.cc",
-    "physical_socket_server.h",
     "proxy_info.cc",
     "proxy_info.h",
     "rtc_certificate.cc",
@@ -938,16 +1005,10 @@
     "rtc_certificate_generator.h",
     "signal_thread.h",
     "sigslot_repeater.h",
-    "socket.cc",
-    "socket.h",
     "socket_adapters.cc",
     "socket_adapters.h",
-    "socket_address.cc",
-    "socket_address.h",
     "socket_address_pair.cc",
     "socket_address_pair.h",
-    "socket_factory.h",
-    "socket_server.h",
     "ssl_adapter.cc",
     "ssl_adapter.h",
     "ssl_certificate.cc",
@@ -960,9 +1021,6 @@
     "ssl_stream_adapter.h",
     "stream.cc",
     "stream.h",
-    "thread.cc",
-    "thread.h",
-    "thread_message.h",
     "unique_id_generator.cc",
     "unique_id_generator.h",
   ]
@@ -1016,20 +1074,11 @@
   }
 
   if (is_android) {
-    sources += [
-      "ifaddrs_android.cc",
-      "ifaddrs_android.h",
-    ]
-
-    libs += [
-      "log",
-      "GLESv2",
-    ]
+    deps += [ ":ifaddrs_android" ]
   }
 
   if (is_ios || is_mac) {
     sources += [ "mac_ifaddrs_converter.cc" ]
-    deps += [ "system:cocoa_threading" ]
   }
 
   if (is_linux || is_chromeos) {
@@ -1084,6 +1133,7 @@
     ":rtc_base",
     ":rtc_base_tests_utils",
     ":stringutils",
+    ":threading",
     "../test:test_support",
   ]
   absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
@@ -1100,6 +1150,7 @@
     ":gunit_helpers",
     ":rtc_base",
     ":rtc_base_tests_utils",
+    ":threading",
     ":timeutils",
     "synchronization:mutex",
   ]
@@ -1158,8 +1209,15 @@
     "virtual_socket_server.h",
   ]
   deps = [
+    ":async_socket",
     ":checks",
+    ":ip_address",
     ":rtc_base",
+    ":socket",
+    ":socket_address",
+    ":socket_factory",
+    ":socket_server",
+    ":threading",
     "../api/units:time_delta",
     "../api/units:timestamp",
     "memory:fifo_buffer",
@@ -1227,11 +1285,19 @@
       "socket_unittest.h",
     ]
     deps = [
+      ":async_socket",
       ":checks",
       ":gunit_helpers",
+      ":ip_address",
+      ":net_helpers",
+      ":null_socket_server",
       ":rtc_base",
       ":rtc_base_tests_utils",
+      ":socket",
+      ":socket_address",
+      ":socket_server",
       ":testclient",
+      ":threading",
       "../system_wrappers",
       "../test:fileutils",
       "../test:test_main",
@@ -1295,10 +1361,13 @@
       sources += [ "win/windows_version_unittest.cc" ]
     }
     deps = [
+      ":async_socket",
       ":bounded_inline_vector",
       ":checks",
       ":divide_round",
       ":gunit_helpers",
+      ":ip_address",
+      ":null_socket_server",
       ":rate_limiter",
       ":rtc_base",
       ":rtc_base_approved",
@@ -1308,8 +1377,12 @@
       ":safe_compare",
       ":safe_minmax",
       ":sanitizer",
+      ":socket",
+      ":socket_address",
+      ":socket_server",
       ":stringutils",
       ":testclient",
+      ":threading",
       "../api:array_view",
       "../api:scoped_refptr",
       "../api/numerics",
@@ -1356,6 +1429,7 @@
       ":rtc_base_approved",
       ":rtc_event",
       ":rtc_operations_chain",
+      ":threading",
       "../test:test_support",
     ]
   }
@@ -1437,11 +1511,19 @@
       "unique_id_generator_unittest.cc",
     ]
     deps = [
+      ":async_socket",
       ":checks",
       ":gunit_helpers",
+      ":ip_address",
+      ":net_helpers",
+      ":null_socket_server",
       ":rtc_base_tests_utils",
+      ":socket_address",
+      ":socket_factory",
+      ":socket_server",
       ":stringutils",
       ":testclient",
+      ":threading",
       "../api:array_view",
       "../api/task_queue",
       "../api/task_queue:task_queue_test",
diff --git a/rtc_base/async_resolver.cc b/rtc_base/async_resolver.cc
new file mode 100644
index 0000000..198b498
--- /dev/null
+++ b/rtc_base/async_resolver.cc
@@ -0,0 +1,169 @@
+/*
+ *  Copyright 2008 The WebRTC Project Authors. All rights reserved.
+ *
+ *  Use of this source code is governed by a BSD-style license
+ *  that can be found in the LICENSE file in the root of the source
+ *  tree. An additional intellectual property rights grant can be found
+ *  in the file PATENTS.  All contributing project authors may
+ *  be found in the AUTHORS file in the root of the source tree.
+ */
+
+#include "rtc_base/async_resolver.h"
+
+#include <string>
+#include <utility>
+
+#if defined(WEBRTC_WIN)
+#include <ws2spi.h>
+#include <ws2tcpip.h>
+
+#include "rtc_base/win32.h"
+#endif
+#if defined(WEBRTC_POSIX) && !defined(__native_client__)
+#if defined(WEBRTC_ANDROID)
+#include "rtc_base/ifaddrs_android.h"
+#else
+#include <ifaddrs.h>
+#endif
+#endif  // defined(WEBRTC_POSIX) && !defined(__native_client__)
+
+#include "api/task_queue/task_queue_base.h"
+#include "rtc_base/ip_address.h"
+#include "rtc_base/logging.h"
+#include "rtc_base/task_queue.h"
+#include "rtc_base/task_utils/to_queued_task.h"
+#include "rtc_base/third_party/sigslot/sigslot.h"  // for signal_with_thread...
+
+namespace rtc {
+
+int ResolveHostname(const std::string& hostname,
+                    int family,
+                    std::vector<IPAddress>* addresses) {
+#ifdef __native_client__
+  RTC_NOTREACHED();
+  RTC_LOG(LS_WARNING) << "ResolveHostname() is not implemented for NaCl";
+  return -1;
+#else   // __native_client__
+  if (!addresses) {
+    return -1;
+  }
+  addresses->clear();
+  struct addrinfo* result = nullptr;
+  struct addrinfo hints = {0};
+  hints.ai_family = family;
+  // |family| here will almost always be AF_UNSPEC, because |family| comes from
+  // AsyncResolver::addr_.family(), which comes from a SocketAddress constructed
+  // with a hostname. When a SocketAddress is constructed with a hostname, its
+  // family is AF_UNSPEC. However, if someday in the future we construct
+  // a SocketAddress with both a hostname and a family other than AF_UNSPEC,
+  // then it would be possible to get a specific family value here.
+
+  // The behavior of AF_UNSPEC is roughly "get both ipv4 and ipv6", as
+  // documented by the various operating systems:
+  // Linux: http://man7.org/linux/man-pages/man3/getaddrinfo.3.html
+  // Windows: https://msdn.microsoft.com/en-us/library/windows/desktop/
+  // ms738520(v=vs.85).aspx
+  // Mac: https://developer.apple.com/legacy/library/documentation/Darwin/
+  // Reference/ManPages/man3/getaddrinfo.3.html
+  // Android (source code, not documentation):
+  // https://android.googlesource.com/platform/bionic/+/
+  // 7e0bfb511e85834d7c6cb9631206b62f82701d60/libc/netbsd/net/getaddrinfo.c#1657
+  hints.ai_flags = AI_ADDRCONFIG;
+  int ret = getaddrinfo(hostname.c_str(), nullptr, &hints, &result);
+  if (ret != 0) {
+    return ret;
+  }
+  struct addrinfo* cursor = result;
+  for (; cursor; cursor = cursor->ai_next) {
+    if (family == AF_UNSPEC || cursor->ai_family == family) {
+      IPAddress ip;
+      if (IPFromAddrInfo(cursor, &ip)) {
+        addresses->push_back(ip);
+      }
+    }
+  }
+  freeaddrinfo(result);
+  return 0;
+#endif  // !__native_client__
+}
+
+AsyncResolver::AsyncResolver() : error_(-1) {}
+
+AsyncResolver::~AsyncResolver() {
+  RTC_DCHECK_RUN_ON(&sequence_checker_);
+}
+
+void AsyncResolver::Start(const SocketAddress& addr) {
+  RTC_DCHECK_RUN_ON(&sequence_checker_);
+  RTC_DCHECK(!destroy_called_);
+  addr_ = addr;
+  webrtc::TaskQueueBase* current_task_queue = webrtc::TaskQueueBase::Current();
+  popup_thread_ = Thread::Create();
+  popup_thread_->Start();
+  popup_thread_->PostTask(webrtc::ToQueuedTask(
+      [this, flag = safety_.flag(), addr, current_task_queue] {
+        std::vector<IPAddress> addresses;
+        int error =
+            ResolveHostname(addr.hostname().c_str(), addr.family(), &addresses);
+        current_task_queue->PostTask(webrtc::ToQueuedTask(
+            std::move(flag), [this, error, addresses = std::move(addresses)] {
+              RTC_DCHECK_RUN_ON(&sequence_checker_);
+              ResolveDone(std::move(addresses), error);
+            }));
+      }));
+}
+
+bool AsyncResolver::GetResolvedAddress(int family, SocketAddress* addr) const {
+  RTC_DCHECK_RUN_ON(&sequence_checker_);
+  RTC_DCHECK(!destroy_called_);
+  if (error_ != 0 || addresses_.empty())
+    return false;
+
+  *addr = addr_;
+  for (size_t i = 0; i < addresses_.size(); ++i) {
+    if (family == addresses_[i].family()) {
+      addr->SetResolvedIP(addresses_[i]);
+      return true;
+    }
+  }
+  return false;
+}
+
+int AsyncResolver::GetError() const {
+  RTC_DCHECK_RUN_ON(&sequence_checker_);
+  RTC_DCHECK(!destroy_called_);
+  return error_;
+}
+
+void AsyncResolver::Destroy(bool wait) {
+  // Some callers have trouble guaranteeing that Destroy is called on the
+  // sequence guarded by |sequence_checker_|.
+  // RTC_DCHECK_RUN_ON(&sequence_checker_);
+  RTC_DCHECK(!destroy_called_);
+  destroy_called_ = true;
+  MaybeSelfDestruct();
+}
+
+const std::vector<IPAddress>& AsyncResolver::addresses() const {
+  RTC_DCHECK_RUN_ON(&sequence_checker_);
+  RTC_DCHECK(!destroy_called_);
+  return addresses_;
+}
+
+void AsyncResolver::ResolveDone(std::vector<IPAddress> addresses, int error) {
+  addresses_ = addresses;
+  error_ = error;
+  recursion_check_ = true;
+  SignalDone(this);
+  MaybeSelfDestruct();
+}
+
+void AsyncResolver::MaybeSelfDestruct() {
+  if (!recursion_check_) {
+    delete this;
+  } else {
+    recursion_check_ = false;
+  }
+}
+
+}  // namespace rtc
diff --git a/rtc_base/async_resolver.h b/rtc_base/async_resolver.h
index 3c3ad82..c05377a 100644
--- a/rtc_base/async_resolver.h
+++ b/rtc_base/async_resolver.h
@@ -11,7 +11,62 @@
 #ifndef RTC_BASE_ASYNC_RESOLVER_H_
 #define RTC_BASE_ASYNC_RESOLVER_H_
 
-// Placeholder header for the refactoring in:
-// https://webrtc-review.googlesource.com/c/src/+/196903
+#if defined(WEBRTC_POSIX)
+#include <sys/socket.h>
+#elif WEBRTC_WIN
+#include <winsock2.h>  // NOLINT
+#endif
+
+#include <memory>
+#include <vector>
+
+#include "rtc_base/async_resolver_interface.h"
+#include "rtc_base/ip_address.h"
+#include "rtc_base/socket_address.h"
+#include "rtc_base/synchronization/sequence_checker.h"
+#include "rtc_base/system/no_unique_address.h"
+#include "rtc_base/system/rtc_export.h"
+#include "rtc_base/task_utils/pending_task_safety_flag.h"
+#include "rtc_base/thread.h"
+#include "rtc_base/thread_annotations.h"
+
+namespace rtc {
+
+// AsyncResolver will perform async DNS resolution, signaling the result on
+// the SignalDone from AsyncResolverInterface when the operation completes.
+//
+// This class is thread-compatible, and all methods and destruction needs to
+// happen from the same rtc::Thread, except for Destroy which is allowed to
+// happen on another context provided it's not happening concurrently to another
+// public API call, and is the last access to the object.
+class RTC_EXPORT AsyncResolver : public AsyncResolverInterface {
+ public:
+  AsyncResolver();
+  ~AsyncResolver() override;
+
+  void Start(const SocketAddress& addr) override;
+  bool GetResolvedAddress(int family, SocketAddress* addr) const override;
+  int GetError() const override;
+  void Destroy(bool wait) override;
+
+  const std::vector<IPAddress>& addresses() const;
+
+ private:
+  void ResolveDone(std::vector<IPAddress> addresses, int error)
+      RTC_EXCLUSIVE_LOCKS_REQUIRED(sequence_checker_);
+  void MaybeSelfDestruct();
+
+  SocketAddress addr_ RTC_GUARDED_BY(sequence_checker_);
+  std::vector<IPAddress> addresses_ RTC_GUARDED_BY(sequence_checker_);
+  int error_ RTC_GUARDED_BY(sequence_checker_);
+  webrtc::ScopedTaskSafety safety_ RTC_GUARDED_BY(sequence_checker_);
+  std::unique_ptr<Thread> popup_thread_ RTC_GUARDED_BY(sequence_checker_);
+  bool recursion_check_ =
+      false;  // Protects against SignalDone calling into Destroy.
+  bool destroy_called_ = false;
+  RTC_NO_UNIQUE_ADDRESS webrtc::SequenceChecker sequence_checker_;
+};
+
+}  // namespace rtc
 
 #endif  // RTC_BASE_ASYNC_RESOLVER_H_
diff --git a/rtc_base/internal/default_socket_server.cc b/rtc_base/internal/default_socket_server.cc
new file mode 100644
index 0000000..5632b98
--- /dev/null
+++ b/rtc_base/internal/default_socket_server.cc
@@ -0,0 +1,33 @@
+/*
+ *  Copyright 2020 The WebRTC Project Authors. All rights reserved.
+ *
+ *  Use of this source code is governed by a BSD-style license
+ *  that can be found in the LICENSE file in the root of the source
+ *  tree. An additional intellectual property rights grant can be found
+ *  in the file PATENTS.  All contributing project authors may
+ *  be found in the AUTHORS file in the root of the source tree.
+ */
+
+#include "rtc_base/internal/default_socket_server.h"
+
+#include <memory>
+
+#include "rtc_base/socket_server.h"
+
+#if defined(__native_client__)
+#include "rtc_base/null_socket_server.h"
+#else
+#include "rtc_base/physical_socket_server.h"
+#endif
+
+namespace rtc {
+
+std::unique_ptr<SocketServer> CreateDefaultSocketServer() {
+#if defined(__native_client__)
+  return std::unique_ptr<SocketServer>(new rtc::NullSocketServer);
+#else
+  return std::unique_ptr<SocketServer>(new rtc::PhysicalSocketServer);
+#endif
+}
+
+}  // namespace rtc
diff --git a/rtc_base/internal/default_socket_server.h b/rtc_base/internal/default_socket_server.h
new file mode 100644
index 0000000..5b3489f
--- /dev/null
+++ b/rtc_base/internal/default_socket_server.h
@@ -0,0 +1,24 @@
+/*
+ *  Copyright 2020 The WebRTC Project Authors. All rights reserved.
+ *
+ *  Use of this source code is governed by a BSD-style license
+ *  that can be found in the LICENSE file in the root of the source
+ *  tree. An additional intellectual property rights grant can be found
+ *  in the file PATENTS.  All contributing project authors may
+ *  be found in the AUTHORS file in the root of the source tree.
+ */
+
+#ifndef RTC_BASE_INTERNAL_DEFAULT_SOCKET_SERVER_H_
+#define RTC_BASE_INTERNAL_DEFAULT_SOCKET_SERVER_H_
+
+#include <memory>
+
+#include "rtc_base/socket_server.h"
+
+namespace rtc {
+
+std::unique_ptr<SocketServer> CreateDefaultSocketServer();
+
+}  // namespace rtc
+
+#endif  // RTC_BASE_INTERNAL_DEFAULT_SOCKET_SERVER_H_
diff --git a/rtc_base/ip_address.cc b/rtc_base/ip_address.cc
index 9dd534c..9f1df58 100644
--- a/rtc_base/ip_address.cc
+++ b/rtc_base/ip_address.cc
@@ -20,8 +20,9 @@
 #include <netdb.h>
 #endif
 
-#include "rtc_base/byte_order.h"
 #include "rtc_base/ip_address.h"
+
+#include "rtc_base/byte_order.h"
 #include "rtc_base/net_helpers.h"
 #include "rtc_base/string_utils.h"
 
diff --git a/rtc_base/memory/BUILD.gn b/rtc_base/memory/BUILD.gn
index 838fbc6..8fbb549 100644
--- a/rtc_base/memory/BUILD.gn
+++ b/rtc_base/memory/BUILD.gn
@@ -36,6 +36,7 @@
   ]
   deps = [
     "..:rtc_base",
+    "..:threading",
     "../synchronization:mutex",
     "../task_utils:pending_task_safety_flag",
     "../task_utils:to_queued_task",
diff --git a/rtc_base/net_helpers.cc b/rtc_base/net_helpers.cc
index c6685e2..e51a51a 100644
--- a/rtc_base/net_helpers.cc
+++ b/rtc_base/net_helpers.cc
@@ -10,6 +10,8 @@
 
 #include "rtc_base/net_helpers.h"
 
+#include <memory>
+
 #if defined(WEBRTC_WIN)
 #include <ws2spi.h>
 #include <ws2tcpip.h>
@@ -17,6 +19,7 @@
 #include "rtc_base/win32.h"
 #endif
 #if defined(WEBRTC_POSIX) && !defined(__native_client__)
+#include <arpa/inet.h>
 #if defined(WEBRTC_ANDROID)
 #include "rtc_base/ifaddrs_android.h"
 #else
@@ -24,145 +27,8 @@
 #endif
 #endif  // defined(WEBRTC_POSIX) && !defined(__native_client__)
 
-#include "api/task_queue/task_queue_base.h"
-#include "rtc_base/logging.h"
-#include "rtc_base/signal_thread.h"
-#include "rtc_base/task_queue.h"
-#include "rtc_base/task_utils/to_queued_task.h"
-#include "rtc_base/third_party/sigslot/sigslot.h"  // for signal_with_thread...
-
 namespace rtc {
 
-int ResolveHostname(const std::string& hostname,
-                    int family,
-                    std::vector<IPAddress>* addresses) {
-#ifdef __native_client__
-  RTC_NOTREACHED();
-  RTC_LOG(LS_WARNING) << "ResolveHostname() is not implemented for NaCl";
-  return -1;
-#else   // __native_client__
-  if (!addresses) {
-    return -1;
-  }
-  addresses->clear();
-  struct addrinfo* result = nullptr;
-  struct addrinfo hints = {0};
-  hints.ai_family = family;
-  // |family| here will almost always be AF_UNSPEC, because |family| comes from
-  // AsyncResolver::addr_.family(), which comes from a SocketAddress constructed
-  // with a hostname. When a SocketAddress is constructed with a hostname, its
-  // family is AF_UNSPEC. However, if someday in the future we construct
-  // a SocketAddress with both a hostname and a family other than AF_UNSPEC,
-  // then it would be possible to get a specific family value here.
-
-  // The behavior of AF_UNSPEC is roughly "get both ipv4 and ipv6", as
-  // documented by the various operating systems:
-  // Linux: http://man7.org/linux/man-pages/man3/getaddrinfo.3.html
-  // Windows: https://msdn.microsoft.com/en-us/library/windows/desktop/
-  // ms738520(v=vs.85).aspx
-  // Mac: https://developer.apple.com/legacy/library/documentation/Darwin/
-  // Reference/ManPages/man3/getaddrinfo.3.html
-  // Android (source code, not documentation):
-  // https://android.googlesource.com/platform/bionic/+/
-  // 7e0bfb511e85834d7c6cb9631206b62f82701d60/libc/netbsd/net/getaddrinfo.c#1657
-  hints.ai_flags = AI_ADDRCONFIG;
-  int ret = getaddrinfo(hostname.c_str(), nullptr, &hints, &result);
-  if (ret != 0) {
-    return ret;
-  }
-  struct addrinfo* cursor = result;
-  for (; cursor; cursor = cursor->ai_next) {
-    if (family == AF_UNSPEC || cursor->ai_family == family) {
-      IPAddress ip;
-      if (IPFromAddrInfo(cursor, &ip)) {
-        addresses->push_back(ip);
-      }
-    }
-  }
-  freeaddrinfo(result);
-  return 0;
-#endif  // !__native_client__
-}
-
-AsyncResolver::AsyncResolver() : error_(-1) {}
-
-AsyncResolver::~AsyncResolver() {
-  RTC_DCHECK_RUN_ON(&sequence_checker_);
-}
-
-void AsyncResolver::Start(const SocketAddress& addr) {
-  RTC_DCHECK_RUN_ON(&sequence_checker_);
-  RTC_DCHECK(!destroy_called_);
-  addr_ = addr;
-  webrtc::TaskQueueBase* current_task_queue = webrtc::TaskQueueBase::Current();
-  popup_thread_ = Thread::Create();
-  popup_thread_->Start();
-  popup_thread_->PostTask(webrtc::ToQueuedTask(
-      [this, flag = safety_.flag(), addr, current_task_queue] {
-        std::vector<IPAddress> addresses;
-        int error =
-            ResolveHostname(addr.hostname().c_str(), addr.family(), &addresses);
-        current_task_queue->PostTask(webrtc::ToQueuedTask(
-            std::move(flag), [this, error, addresses = std::move(addresses)] {
-              RTC_DCHECK_RUN_ON(&sequence_checker_);
-              ResolveDone(std::move(addresses), error);
-            }));
-      }));
-}
-
-bool AsyncResolver::GetResolvedAddress(int family, SocketAddress* addr) const {
-  RTC_DCHECK_RUN_ON(&sequence_checker_);
-  RTC_DCHECK(!destroy_called_);
-  if (error_ != 0 || addresses_.empty())
-    return false;
-
-  *addr = addr_;
-  for (size_t i = 0; i < addresses_.size(); ++i) {
-    if (family == addresses_[i].family()) {
-      addr->SetResolvedIP(addresses_[i]);
-      return true;
-    }
-  }
-  return false;
-}
-
-int AsyncResolver::GetError() const {
-  RTC_DCHECK_RUN_ON(&sequence_checker_);
-  RTC_DCHECK(!destroy_called_);
-  return error_;
-}
-
-void AsyncResolver::Destroy(bool wait) {
-  // Some callers have trouble guaranteeing that Destroy is called on the
-  // sequence guarded by |sequence_checker_|.
-  // RTC_DCHECK_RUN_ON(&sequence_checker_);
-  RTC_DCHECK(!destroy_called_);
-  destroy_called_ = true;
-  MaybeSelfDestruct();
-}
-
-const std::vector<IPAddress>& AsyncResolver::addresses() const {
-  RTC_DCHECK_RUN_ON(&sequence_checker_);
-  RTC_DCHECK(!destroy_called_);
-  return addresses_;
-}
-
-void AsyncResolver::ResolveDone(std::vector<IPAddress> addresses, int error) {
-  addresses_ = addresses;
-  error_ = error;
-  recursion_check_ = true;
-  SignalDone(this);
-  MaybeSelfDestruct();
-}
-
-void AsyncResolver::MaybeSelfDestruct() {
-  if (!recursion_check_) {
-    delete this;
-  } else {
-    recursion_check_ = false;
-  }
-}
-
 const char* inet_ntop(int af, const void* src, char* dst, socklen_t size) {
 #if defined(WEBRTC_WIN)
   return win32_inet_ntop(af, src, dst, size);
diff --git a/rtc_base/net_helpers.h b/rtc_base/net_helpers.h
index 172a222..4ed8478 100644
--- a/rtc_base/net_helpers.h
+++ b/rtc_base/net_helpers.h
@@ -15,57 +15,12 @@
 #include <sys/socket.h>
 #elif WEBRTC_WIN
 #include <winsock2.h>  // NOLINT
+
+#include "rtc_base/win32.h"
 #endif
 
-#include <vector>
-
-#include "rtc_base/async_resolver_interface.h"
-#include "rtc_base/ip_address.h"
-#include "rtc_base/socket_address.h"
-#include "rtc_base/synchronization/sequence_checker.h"
-#include "rtc_base/system/no_unique_address.h"
-#include "rtc_base/system/rtc_export.h"
-#include "rtc_base/task_utils/pending_task_safety_flag.h"
-#include "rtc_base/thread.h"
-#include "rtc_base/thread_annotations.h"
-
 namespace rtc {
 
-// AsyncResolver will perform async DNS resolution, signaling the result on
-// the SignalDone from AsyncResolverInterface when the operation completes.
-//
-// This class is thread-compatible, and all methods and destruction needs to
-// happen from the same rtc::Thread, except for Destroy which is allowed to
-// happen on another context provided it's not happening concurrently to another
-// public API call, and is the last access to the object.
-class RTC_EXPORT AsyncResolver : public AsyncResolverInterface {
- public:
-  AsyncResolver();
-  ~AsyncResolver() override;
-
-  void Start(const SocketAddress& addr) override;
-  bool GetResolvedAddress(int family, SocketAddress* addr) const override;
-  int GetError() const override;
-  void Destroy(bool wait) override;
-
-  const std::vector<IPAddress>& addresses() const;
-
- private:
-  void ResolveDone(std::vector<IPAddress> addresses, int error)
-      RTC_EXCLUSIVE_LOCKS_REQUIRED(sequence_checker_);
-  void MaybeSelfDestruct();
-
-  SocketAddress addr_ RTC_GUARDED_BY(sequence_checker_);
-  std::vector<IPAddress> addresses_ RTC_GUARDED_BY(sequence_checker_);
-  int error_ RTC_GUARDED_BY(sequence_checker_);
-  webrtc::ScopedTaskSafety safety_ RTC_GUARDED_BY(sequence_checker_);
-  std::unique_ptr<Thread> popup_thread_ RTC_GUARDED_BY(sequence_checker_);
-  bool recursion_check_ =
-      false;  // Protects against SignalDone calling into Destroy.
-  bool destroy_called_ = false;
-  RTC_NO_UNIQUE_ADDRESS webrtc::SequenceChecker sequence_checker_;
-};
-
 // rtc namespaced wrappers for inet_ntop and inet_pton so we can avoid
 // the windows-native versions of these.
 const char* inet_ntop(int af, const void* src, char* dst, socklen_t size);
@@ -73,6 +28,7 @@
 
 bool HasIPv4Enabled();
 bool HasIPv6Enabled();
+
 }  // namespace rtc
 
 #endif  // RTC_BASE_NET_HELPERS_H_
diff --git a/rtc_base/physical_socket_server.cc b/rtc_base/physical_socket_server.cc
index 3cb7c20..adf3fab 100644
--- a/rtc_base/physical_socket_server.cc
+++ b/rtc_base/physical_socket_server.cc
@@ -119,14 +119,6 @@
 
 namespace rtc {
 
-std::unique_ptr<SocketServer> SocketServer::CreateDefault() {
-#if defined(__native_client__)
-  return std::unique_ptr<SocketServer>(new rtc::NullSocketServer);
-#else
-  return std::unique_ptr<SocketServer>(new rtc::PhysicalSocketServer);
-#endif
-}
-
 PhysicalSocket::PhysicalSocket(PhysicalSocketServer* ss, SOCKET s)
     : ss_(ss),
       s_(s),
diff --git a/rtc_base/physical_socket_server.h b/rtc_base/physical_socket_server.h
index cc21a67..5a09aac 100644
--- a/rtc_base/physical_socket_server.h
+++ b/rtc_base/physical_socket_server.h
@@ -21,8 +21,9 @@
 #include <unordered_map>
 #include <vector>
 
+#include "rtc_base/async_resolver.h"
+#include "rtc_base/async_resolver_interface.h"
 #include "rtc_base/deprecated/recursive_critical_section.h"
-#include "rtc_base/net_helpers.h"
 #include "rtc_base/socket_server.h"
 #include "rtc_base/system/rtc_export.h"
 #include "rtc_base/thread_annotations.h"
diff --git a/rtc_base/physical_socket_server_unittest.cc b/rtc_base/physical_socket_server_unittest.cc
index 648f397..3762762 100644
--- a/rtc_base/physical_socket_server_unittest.cc
+++ b/rtc_base/physical_socket_server_unittest.cc
@@ -18,6 +18,7 @@
 #include "rtc_base/gunit.h"
 #include "rtc_base/ip_address.h"
 #include "rtc_base/logging.h"
+#include "rtc_base/net_helpers.h"
 #include "rtc_base/network_monitor.h"
 #include "rtc_base/socket_unittest.h"
 #include "rtc_base/test_utils.h"
diff --git a/rtc_base/synchronization/BUILD.gn b/rtc_base/synchronization/BUILD.gn
index 618e224..16922af 100644
--- a/rtc_base/synchronization/BUILD.gn
+++ b/rtc_base/synchronization/BUILD.gn
@@ -88,6 +88,7 @@
       "..:macromagic",
       "..:rtc_base",
       "..:rtc_event",
+      "..:threading",
       "../../test:test_support",
       "//third_party/google_benchmark",
     ]
diff --git a/rtc_base/thread.cc b/rtc_base/thread.cc
index 3244902..1045398 100644
--- a/rtc_base/thread.cc
+++ b/rtc_base/thread.cc
@@ -33,6 +33,7 @@
 #include "rtc_base/checks.h"
 #include "rtc_base/deprecated/recursive_critical_section.h"
 #include "rtc_base/event.h"
+#include "rtc_base/internal/default_socket_server.h"
 #include "rtc_base/logging.h"
 #include "rtc_base/null_socket_server.h"
 #include "rtc_base/synchronization/sequence_checker.h"
@@ -257,7 +258,7 @@
 #ifndef NO_MAIN_THREAD_WRAPPING
   // Only autowrap the thread which instantiated the ThreadManager.
   if (!thread && manager->IsMainThread()) {
-    thread = new Thread(SocketServer::CreateDefault());
+    thread = new Thread(CreateDefaultSocketServer());
     thread->WrapCurrentWithThreadManager(manager, true);
   }
 #endif
@@ -326,7 +327,7 @@
 Thread* ThreadManager::WrapCurrentThread() {
   Thread* result = CurrentThread();
   if (nullptr == result) {
-    result = new Thread(SocketServer::CreateDefault());
+    result = new Thread(CreateDefaultSocketServer());
     result->WrapCurrentWithThreadManager(this, true);
   }
   return result;
@@ -696,7 +697,7 @@
 }
 
 std::unique_ptr<Thread> Thread::CreateWithSocketServer() {
-  return std::unique_ptr<Thread>(new Thread(SocketServer::CreateDefault()));
+  return std::unique_ptr<Thread>(new Thread(CreateDefaultSocketServer()));
 }
 
 std::unique_ptr<Thread> Thread::Create() {
@@ -1137,7 +1138,7 @@
 }
 
 AutoThread::AutoThread()
-    : Thread(SocketServer::CreateDefault(), /*do_init=*/false) {
+    : Thread(CreateDefaultSocketServer(), /*do_init=*/false) {
   if (!ThreadManager::Instance()->CurrentThread()) {
     // DoInit registers with ThreadManager. Do that only if we intend to
     // be rtc::Thread::Current(), otherwise ProcessAllMessageQueuesInternal will
diff --git a/rtc_base/thread_unittest.cc b/rtc_base/thread_unittest.cc
index 5132198..705e268 100644
--- a/rtc_base/thread_unittest.cc
+++ b/rtc_base/thread_unittest.cc
@@ -19,6 +19,7 @@
 #include "rtc_base/atomic_ops.h"
 #include "rtc_base/event.h"
 #include "rtc_base/gunit.h"
+#include "rtc_base/internal/default_socket_server.h"
 #include "rtc_base/null_socket_server.h"
 #include "rtc_base/physical_socket_server.h"
 #include "rtc_base/socket_address.h"
@@ -505,7 +506,7 @@
 
 class ThreadQueueTest : public ::testing::Test, public Thread {
  public:
-  ThreadQueueTest() : Thread(SocketServer::CreateDefault(), true) {}
+  ThreadQueueTest() : Thread(CreateDefaultSocketServer(), true) {}
   bool IsLocked_Worker() {
     if (!CritForTest()->TryEnter()) {
       return true;
@@ -555,7 +556,7 @@
 }
 
 TEST_F(ThreadQueueTest, DelayedPostsWithIdenticalTimesAreProcessedInFifoOrder) {
-  Thread q(SocketServer::CreateDefault(), true);
+  Thread q(CreateDefaultSocketServer(), true);
   DelayedPostsWithIdenticalTimesAreProcessedInFifoOrder(&q);
 
   NullSocketServer nullss;
diff --git a/rtc_tools/BUILD.gn b/rtc_tools/BUILD.gn
index 9ba498c..1f0892b 100644
--- a/rtc_tools/BUILD.gn
+++ b/rtc_tools/BUILD.gn
@@ -181,6 +181,7 @@
       "../rtc_base",
       "../rtc_base:rtc_base_approved",
       "../rtc_base:rtc_json",
+      "../rtc_base:threading",
       "../rtc_base/system:file_wrapper",
       "../test:fileutils",
       "../test:rtp_test_utils",
@@ -489,6 +490,8 @@
       "../common_video",
       "../rtc_base",
       "../rtc_base:checks",
+      "../rtc_base:null_socket_server",
+      "../rtc_base:threading",
       "../test:fileutils",
       "../test:test_main",
       "../test:test_support",
diff --git a/rtc_tools/network_tester/BUILD.gn b/rtc_tools/network_tester/BUILD.gn
index b270262..95b5c90 100644
--- a/rtc_tools/network_tester/BUILD.gn
+++ b/rtc_tools/network_tester/BUILD.gn
@@ -45,9 +45,12 @@
       "../../rtc_base",
       "../../rtc_base:checks",
       "../../rtc_base:ignore_wundef",
+      "../../rtc_base:ip_address",
       "../../rtc_base:protobuf_utils",
       "../../rtc_base:rtc_base_approved",
       "../../rtc_base:rtc_task_queue",
+      "../../rtc_base:socket_address",
+      "../../rtc_base:threading",
       "../../rtc_base/synchronization:mutex",
       "../../rtc_base/synchronization:sequence_checker",
       "../../rtc_base/system:no_unique_address",
diff --git a/sdk/BUILD.gn b/sdk/BUILD.gn
index 00c87ef..e557ce4 100644
--- a/sdk/BUILD.gn
+++ b/sdk/BUILD.gn
@@ -236,7 +236,10 @@
 
         sources = [ "objc/native/src/audio/audio_session_observer.h" ]
 
-        deps = [ "../rtc_base" ]
+        deps = [
+          "../rtc_base",
+          "../rtc_base:threading",
+        ]
       }
 
       rtc_library("audio_device") {
@@ -265,6 +268,7 @@
           "../modules/audio_device:audio_device_generic",
           "../rtc_base",
           "../rtc_base:checks",
+          "../rtc_base:threading",
           "../system_wrappers:field_trial",
           "../system_wrappers:metrics",
         ]
@@ -338,7 +342,11 @@
 
         sources = [ "objc/native/src/network_monitor_observer.h" ]
 
-        deps = [ "../rtc_base" ]
+        deps = [
+          "../rtc_base",
+          "../rtc_base:network_constants",
+          "../rtc_base:threading",
+        ]
       }
 
       rtc_library("network_monitor_objc") {
@@ -383,6 +391,7 @@
         "../media:rtc_media_base",
         "../rtc_base",
         "../rtc_base:checks",
+        "../rtc_base:threading",
         "//third_party/libyuv",
       ]
 
@@ -973,6 +982,7 @@
         "../pc:peerconnection",
         "../rtc_base",
         "../rtc_base:checks",
+        "../rtc_base:network_constants",
         "../system_wrappers:field_trial",
         "../system_wrappers:metrics",
       ]
@@ -1077,6 +1087,7 @@
             ":sdk_unittests_bundle_data",
             ":sdk_unittests_sources",
             "../rtc_base",
+            "../rtc_base:threading",
             "//test:test_support",
           ]
           ldflags = [ "-all_load" ]
@@ -1096,6 +1107,7 @@
             ":framework_objc+link",
             ":ios_framework_bundle",
             "../rtc_base",
+            "../rtc_base:threading",
             "//test:test_support",
           ]
         }
@@ -1500,6 +1512,7 @@
         "../api/video_codecs:video_codecs_api",
         "../common_video",
         "../rtc_base",
+        "../rtc_base:threading",
       ]
       if (is_ios) {
         deps += [ ":native_network_monitor" ]
@@ -1520,6 +1533,7 @@
           ":network_monitor_objc",
           ":network_monitor_observer",
           "../rtc_base",
+          "../rtc_base:threading",
           "../rtc_base/synchronization:sequence_checker",
         ]
       }
diff --git a/sdk/android/BUILD.gn b/sdk/android/BUILD.gn
index ce5db77..b7992e1 100644
--- a/sdk/android/BUILD.gn
+++ b/sdk/android/BUILD.gn
@@ -559,7 +559,9 @@
       "../../api:scoped_refptr",
       "../../rtc_base",
       "../../rtc_base:checks",
+      "../../rtc_base:ip_address",
       "../../rtc_base:rtc_base_approved",
+      "../../rtc_base:threading",
       "../../rtc_base/synchronization:sequence_checker",
       "../../system_wrappers:field_trial",
       "../../system_wrappers:metrics",
@@ -656,6 +658,7 @@
       "../../rtc_base",
       "../../rtc_base:checks",
       "../../rtc_base:rtc_task_queue",
+      "../../rtc_base:threading",
       "../../rtc_base/synchronization:mutex",
       "../../rtc_base/task_utils:to_queued_task",
       "//third_party/libyuv",
@@ -746,6 +749,7 @@
       "../../rtc_base:checks",
       "../../rtc_base:rtc_base_approved",
       "../../rtc_base:rtc_task_queue",
+      "../../rtc_base:threading",
       "../../rtc_base/system:thread_registry",
       "../../system_wrappers:field_trial",
     ]
@@ -916,6 +920,7 @@
 
     deps = [
       ":base_jni",
+      "../../rtc_base:threading",
       "//rtc_base",
     ]
   }
@@ -930,6 +935,7 @@
     deps = [
       ":base_jni",
       ":peerconnection_jni",
+      "../../rtc_base:threading",
       "//api:libjingle_peerconnection_api",
       "//api/video_codecs:video_codecs_api",
       "//rtc_base",
@@ -968,6 +974,7 @@
       ":native_api_jni",
       ":video_jni",
       ":videoframe_jni",
+      "../../rtc_base:threading",
       "//api:libjingle_peerconnection_api",
       "//api:media_stream_interface",
       "//api/video:video_frame",
@@ -1471,6 +1478,7 @@
       "../../modules/utility",
       "../../pc:libjingle_peerconnection",
       "../../rtc_base:checks",
+      "../../rtc_base:ip_address",
       "../../rtc_base:rtc_base",
       "../../rtc_base/synchronization:mutex",
       "../../rtc_base/system:inline",
diff --git a/test/BUILD.gn b/test/BUILD.gn
index 0e1209f..a337979 100644
--- a/test/BUILD.gn
+++ b/test/BUILD.gn
@@ -145,6 +145,7 @@
         "../api:scoped_refptr",
         "../modules/video_capture:video_capture_module",
         "../rtc_base",
+        "../rtc_base:threading",
         "../sdk:base_objc",
         "../sdk:native_api",
         "../sdk:native_video",
@@ -415,6 +416,7 @@
       "../rtc_base:checks",
       "../rtc_base:logging",
       "../rtc_base:rtc_base_approved",
+      "../rtc_base:threading",
       "../system_wrappers:field_trial",
       "../system_wrappers:metrics",
     ]
@@ -865,6 +867,7 @@
     "../rtc_base:rtc_base",
     "../rtc_base:rtc_event",
     "../rtc_base:task_queue_for_test",
+    "../rtc_base:threading",
     "../rtc_base/task_utils:to_queued_task",
     "../system_wrappers",
     "../system_wrappers:field_trial",
diff --git a/test/fuzzers/BUILD.gn b/test/fuzzers/BUILD.gn
index 4975f42..af7a4b7 100644
--- a/test/fuzzers/BUILD.gn
+++ b/test/fuzzers/BUILD.gn
@@ -439,6 +439,7 @@
   deps = [
     "../../p2p:rtc_p2p",
     "../../rtc_base",
+    "../../rtc_base:threading",
   ]
 }
 
diff --git a/test/network/BUILD.gn b/test/network/BUILD.gn
index 23501a5..543fa99 100644
--- a/test/network/BUILD.gn
+++ b/test/network/BUILD.gn
@@ -51,10 +51,16 @@
     "../../call:simulated_network",
     "../../p2p:p2p_server_utils",
     "../../rtc_base",
+    "../../rtc_base:async_socket",
+    "../../rtc_base:ip_address",
+    "../../rtc_base:network_constants",
     "../../rtc_base:rtc_base_tests_utils",
     "../../rtc_base:rtc_task_queue",
     "../../rtc_base:safe_minmax",
+    "../../rtc_base:socket_address",
+    "../../rtc_base:socket_server",
     "../../rtc_base:task_queue_for_test",
+    "../../rtc_base:threading",
     "../../rtc_base/synchronization:mutex",
     "../../rtc_base/synchronization:sequence_checker",
     "../../rtc_base/task_utils:repeating_task",
@@ -124,6 +130,7 @@
     "../../call:simulated_network",
     "../../rtc_base",
     "../../rtc_base:logging",
+    "../../rtc_base:network_constants",
     "../../rtc_base:rtc_event",
     "//test/time_controller:time_controller",
   ]
diff --git a/test/pc/e2e/BUILD.gn b/test/pc/e2e/BUILD.gn
index 3901297..8af76c3 100644
--- a/test/pc/e2e/BUILD.gn
+++ b/test/pc/e2e/BUILD.gn
@@ -61,6 +61,7 @@
       "../../../api/transport:webrtc_key_value_config",
       "../../../api/video_codecs:video_codecs_api",
       "../../../rtc_base",
+      "../../../rtc_base:threading",
     ]
   }
 
@@ -328,6 +329,7 @@
         "../../../api/transport:network_control",
         "../../../api/video_codecs:video_codecs_api",
         "../../../rtc_base",
+        "../../../rtc_base:threading",
       ]
       absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
     }
@@ -404,6 +406,7 @@
         "../../../rtc_base:rtc_base_approved",
         "../../../rtc_base:safe_conversions",
         "../../../rtc_base:task_queue_for_test",
+        "../../../rtc_base:threading",
         "../../../rtc_base/synchronization:mutex",
         "../../../system_wrappers",
         "../../../system_wrappers:field_trial",
@@ -697,6 +700,7 @@
       "../../../api/units:data_size",
       "../../../api/units:timestamp",
       "../../../rtc_base",
+      "../../../rtc_base:ip_address",
       "../../../rtc_base:rtc_event",
       "../../../rtc_base:stringutils",
       "../../../rtc_base/synchronization:mutex",
diff --git a/test/peer_scenario/BUILD.gn b/test/peer_scenario/BUILD.gn
index 70a7471..2034c9a 100644
--- a/test/peer_scenario/BUILD.gn
+++ b/test/peer_scenario/BUILD.gn
@@ -48,6 +48,7 @@
       "../../pc:pc_test_utils",
       "../../pc:rtc_pc_base",
       "../../rtc_base",
+      "../../rtc_base:null_socket_server",
       "../../rtc_base:stringutils",
       "../logging:log_writer",
       "../network:emulated_network",
diff --git a/test/scenario/BUILD.gn b/test/scenario/BUILD.gn
index f5c22fc..4316351 100644
--- a/test/scenario/BUILD.gn
+++ b/test/scenario/BUILD.gn
@@ -132,7 +132,9 @@
       "../../rtc_base:rtc_stats_counters",
       "../../rtc_base:rtc_task_queue",
       "../../rtc_base:safe_minmax",
+      "../../rtc_base:socket_address",
       "../../rtc_base:task_queue_for_test",
+      "../../rtc_base:threading",
       "../../rtc_base/synchronization:mutex",
       "../../rtc_base/synchronization:sequence_checker",
       "../../rtc_base/task_utils:repeating_task",
diff --git a/test/time_controller/BUILD.gn b/test/time_controller/BUILD.gn
index c9fffe6..ee49445 100644
--- a/test/time_controller/BUILD.gn
+++ b/test/time_controller/BUILD.gn
@@ -35,6 +35,7 @@
     "../../modules/utility:utility",
     "../../rtc_base",
     "../../rtc_base:checks",
+    "../../rtc_base:null_socket_server",
     "../../rtc_base:rtc_base_tests_utils",
     "../../rtc_base:rtc_event",
     "../../rtc_base/synchronization:mutex",
@@ -62,6 +63,7 @@
       "../../rtc_base",
       "../../rtc_base:rtc_base_approved",
       "../../rtc_base:rtc_task_queue",
+      "../../rtc_base:threading",
       "../../rtc_base/synchronization:mutex",
       "../../rtc_base/task_utils:repeating_task",
       "../../rtc_base/task_utils:to_queued_task",
diff --git a/video/BUILD.gn b/video/BUILD.gn
index 6cb8d99..8289023 100644
--- a/video/BUILD.gn
+++ b/video/BUILD.gn
@@ -120,6 +120,7 @@
     "../rtc_base:rtc_numerics",
     "../rtc_base:rtc_task_queue",
     "../rtc_base:stringutils",
+    "../rtc_base:threading",
     "../rtc_base:weak_ptr",
     "../rtc_base/experiments:alr_experiment",
     "../rtc_base/experiments:field_trial_parser",
@@ -648,6 +649,7 @@
       "../rtc_base:rtc_numerics",
       "../rtc_base:rtc_task_queue",
       "../rtc_base:task_queue_for_test",
+      "../rtc_base:threading",
       "../rtc_base/experiments:alr_experiment",
       "../rtc_base/synchronization:mutex",
       "../rtc_base/synchronization:sequence_checker",
