Revert "Refactor rtc_base build targets."
This reverts commit 69241a93fb14f6527a26d5c94dde879013012d2a.
Reason for revert: Breaks WebRTC roll into Chromium.
Original change's description:
> Refactor rtc_base build targets.
>
> The "//rtc_base:rtc_base" build target has historically been one of the
> biggest targets in the WebRTC build. Big targets are the main source of
> circular dependencies and non-API types leakage.
>
> This CL is a step forward into splitting "//rtc_base:rtc_base" into
> smaller targets (as originally started in 2018).
>
> The only non-automated changes are (like re-wiring the build system):
> * The creation of //rtc_base/async_resolver.{h,cc} which allows to
> break a circular dependency (is has been extracted from
> //rtc_base/net_helpers.{h,cc}).
> * The creation of //rtc_base/internal/default_socket_server.{h,cc} to
> break another circular dependency.
>
> Bug: webrtc:9987
> Change-Id: I0c8f5e7efe2c8fd8e6bffa0d6dd2dd494cf3df02
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196903
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32941}
TBR=mbonadei@webrtc.org,hta@webrtc.org
# Not skipping CQ checks because original CL landed > 1 day ago.
No-Try: True
Bug: webrtc:9987
Change-Id: I1e36ad64cc60092f38d6886153a94f1a58339256
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/201840
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32986}
diff --git a/api/BUILD.gn b/api/BUILD.gn
index 3c73d51..f02c5fd 100644
--- a/api/BUILD.gn
+++ b/api/BUILD.gn
@@ -52,7 +52,6 @@
"../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",
@@ -175,7 +174,6 @@
":rtp_parameters",
":rtp_transceiver_direction",
":scoped_refptr",
- "../rtc_base:network_constants",
"adaptation:resource_adaptation_api",
"audio:audio_mixer_api",
"audio_codecs:audio_codecs_api",
@@ -206,10 +204,7 @@
"../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 = [
@@ -253,7 +248,6 @@
"packet_socket_factory.h",
]
deps = [
- "../rtc_base:async_resolver_interface",
"../rtc_base:rtc_base",
"../rtc_base/system:rtc_export",
]
@@ -389,7 +383,6 @@
":video_quality_analyzer_api",
"../media:rtc_media_base",
"../rtc_base:rtc_base",
- "../rtc_base:threading",
"rtc_event_log",
"task_queue",
"transport:network_control",
@@ -607,8 +600,6 @@
":time_controller",
"../call:simulated_network",
"../rtc_base",
- "../rtc_base:network_constants",
- "../rtc_base:threading",
"test/network_emulation",
"units:data_rate",
"units:data_size",
@@ -626,7 +617,6 @@
deps = [
"../modules/utility",
"../rtc_base",
- "../rtc_base:threading",
"../rtc_base/synchronization:yield_policy",
"../system_wrappers",
"task_queue",
@@ -680,7 +670,6 @@
":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 a996ba7..fb7bedc 100644
--- a/api/test/network_emulation/BUILD.gn
+++ b/api/test/network_emulation/BUILD.gn
@@ -20,9 +20,7 @@
"../..: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 7d23adc..7bcda8b 100644
--- a/api/transport/BUILD.gn
+++ b/api/transport/BUILD.gn
@@ -108,10 +108,8 @@
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" ]
}
@@ -149,7 +147,6 @@
":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 1fea09c..6901e33 100644
--- a/audio/BUILD.gn
+++ b/audio/BUILD.gn
@@ -90,7 +90,6 @@
"../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 7730382..cef43f4 100644
--- a/call/BUILD.gn
+++ b/call/BUILD.gn
@@ -504,7 +504,6 @@
"../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 a08ab46..c267896 100644
--- a/examples/BUILD.gn
+++ b/examples/BUILD.gn
@@ -686,8 +686,6 @@
"../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",
@@ -779,11 +777,7 @@
"../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") {
@@ -795,9 +789,6 @@
"../pc:rtc_pc",
"../rtc_base",
"../rtc_base:rtc_base_approved",
- "../rtc_base:socket_address",
- "../rtc_base:socket_server",
- "../rtc_base:threading",
]
}
}
@@ -921,8 +912,6 @@
"../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 31b20d3..649e601 100644
--- a/examples/androidvoip/BUILD.gn
+++ b/examples/androidvoip/BUILD.gn
@@ -56,9 +56,6 @@
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 9fccf5c..8eb5631 100644
--- a/logging/BUILD.gn
+++ b/logging/BUILD.gn
@@ -288,7 +288,6 @@
"../api/rtc_event_log",
"../rtc_base",
"../rtc_base:checks",
- "../rtc_base:threading",
]
}
diff --git a/media/BUILD.gn b/media/BUILD.gn
index cc78053..f653af7 100644
--- a/media/BUILD.gn
+++ b/media/BUILD.gn
@@ -113,7 +113,6 @@
"../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",
@@ -321,7 +320,6 @@
"../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",
@@ -409,7 +407,6 @@
"../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",
@@ -486,7 +483,6 @@
"../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",
@@ -596,7 +592,6 @@
"../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 f2f28a7..dbb1882 100644
--- a/modules/audio_processing/BUILD.gn
+++ b/modules/audio_processing/BUILD.gn
@@ -367,7 +367,6 @@
"../../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 2373b9f..b706c6b 100644
--- a/modules/video_coding/BUILD.gn
+++ b/modules/video_coding/BUILD.gn
@@ -189,7 +189,6 @@
"../../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 5838f31..d4330ef 100644
--- a/p2p/BUILD.gn
+++ b/p2p/BUILD.gn
@@ -96,17 +96,8 @@
"../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",
@@ -157,8 +148,6 @@
deps = [
":rtc_p2p",
"../rtc_base",
- "../rtc_base:net_helpers",
- "../rtc_base:threading",
]
}
@@ -184,14 +173,9 @@
"../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",
]
@@ -237,18 +221,11 @@
"../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",
@@ -279,8 +256,6 @@
"../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" ]
@@ -298,11 +273,7 @@
"../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",
]
}
@@ -319,7 +290,6 @@
"../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 027358b..9d8266e 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/async_resolver.h"
+#include "rtc_base/net_helpers.h"
namespace webrtc {
diff --git a/p2p/base/basic_packet_socket_factory.cc b/p2p/base/basic_packet_socket_factory.cc
index 232e58b..ebc11bb 100644
--- a/p2p/base/basic_packet_socket_factory.cc
+++ b/p2p/base/basic_packet_socket_factory.cc
@@ -15,7 +15,6 @@
#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 7a76af5..4e1a1f6 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 6f9caaf..a9ec434 100644
--- a/p2p/base/turn_port.h
+++ b/p2p/base/turn_port.h
@@ -25,7 +25,6 @@
#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 9e296b5..143ce25 100644
--- a/pc/BUILD.gn
+++ b/pc/BUILD.gn
@@ -114,9 +114,7 @@
"../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",
@@ -279,13 +277,9 @@
"../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",
@@ -330,7 +324,6 @@
"../p2p:rtc_p2p",
"../rtc_base",
"../rtc_base:checks",
- "../rtc_base:threading",
]
}
@@ -345,7 +338,6 @@
"../api:media_stream_interface",
"../api:rtc_error",
"../rtc_base",
- "../rtc_base:threading",
"../rtc_base/synchronization:sequence_checker",
]
}
@@ -408,7 +400,6 @@
"../media:rtc_media_base",
"../rtc_base",
"../rtc_base:checks",
- "../rtc_base:threading",
"../rtc_base/third_party/sigslot",
]
absl_deps = [
@@ -445,7 +436,6 @@
"../rtc_base:logging",
"../rtc_base:rtc_base",
"../rtc_base:rtc_base_approved",
- "../rtc_base:threading",
]
absl_deps = [
"//third_party/abseil-cpp/absl/algorithm:container",
@@ -476,7 +466,6 @@
"../rtc_base",
"../rtc_base:checks",
"../rtc_base:refcount",
- "../rtc_base:threading",
]
absl_deps = [
"//third_party/abseil-cpp/absl/algorithm:container",
@@ -509,7 +498,6 @@
"../rtc_base",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
- "../rtc_base:threading",
]
absl_deps = [
"//third_party/abseil-cpp/absl/algorithm:container",
@@ -560,7 +548,6 @@
"../rtc_base:checks",
"../rtc_base:refcount",
"../rtc_base:rtc_base_approved",
- "../rtc_base:threading",
]
}
@@ -606,7 +593,6 @@
"../rtc_base:checks",
"../rtc_base:refcount",
"../rtc_base:safe_minmax",
- "../rtc_base:threading",
]
absl_deps = [
"//third_party/abseil-cpp/absl/algorithm:container",
@@ -631,7 +617,6 @@
"../rtc_base:rtc_base_approved",
"../rtc_base:safe_conversions",
"../rtc_base:stringutils",
- "../rtc_base:threading",
"../rtc_base/synchronization:mutex",
]
absl_deps = [
@@ -695,7 +680,6 @@
"../api:libjingle_peerconnection_api",
"../rtc_base:checks",
"../rtc_base:rtc_base",
- "../rtc_base:threading",
]
absl_deps = [
"//third_party/abseil-cpp/absl/algorithm:container",
@@ -819,7 +803,6 @@
"../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",
@@ -868,8 +851,6 @@
"../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",
@@ -970,7 +951,6 @@
"../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",
@@ -1086,11 +1066,8 @@
"../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 ceb0a1f..7181c23 100644
--- a/rtc_base/BUILD.gn
+++ b/rtc_base/BUILD.gn
@@ -668,216 +668,139 @@
}
rtc_source_set("async_resolver") {
- # TODO(bugs.webrtc.org/9987): Remove when downstream clients have
- # been redirected on //rtc_base:threading.
- sources = []
+ # 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" ]
}
-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("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("async_resolver_interface") {
+rtc_source_set("async_resolver_interface") {
visibility = [ "*" ]
- sources = [
- "async_resolver_interface.cc",
- "async_resolver_interface.h",
- ]
- deps = [
- ":socket_address",
- "system:rtc_export",
- "third_party/sigslot",
- ]
+ # TODO(bugs.webrtc.org/9987): This build target will soon contain
+ # the following files:
+ # sources = [
+ # "async_resolver_interface.cc",
+ # "async_resolver_interface.h",
+ # ]
}
-rtc_library("ip_address") {
+rtc_source_set("ip_address") {
visibility = [ "*" ]
- sources = [
- "ip_address.cc",
- "ip_address.h",
- ]
- deps = [
- ":net_helpers",
- ":rtc_base_approved",
- ":stringutils",
- "system:rtc_export",
- ]
- if (is_win) {
- deps += [ ":win32" ]
- }
+ # TODO(bugs.webrtc.org/9987): This build target will soon contain
+ # the following files:
+ # sources = [
+ # "ip_address.cc",
+ # "ip_address.h",
+ # ]
}
-rtc_library("socket_address") {
+rtc_source_set("socket_address") {
visibility = [ "*" ]
- 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" ]
- }
+ # TODO(bugs.webrtc.org/9987): This build target will soon contain
+ # the following files:
+ # sources = [
+ # "socket_address.cc",
+ # "socket_address.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("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_source_set("socket_server") {
- sources = [ "socket_server.h" ]
- deps = [ ":socket_factory" ]
+ # TODO(bugs.webrtc.org/9987): This build target will soon contain
+ # the following files:
+ # sources = [
+ # "socket_server.h",
+ # ]
}
-rtc_library("threading") {
+rtc_source_set("threading") {
visibility = [ "*" ]
-
- 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" ]
- }
+ # 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",
+ # ]
}
rtc_source_set("socket_factory") {
- sources = [ "socket_factory.h" ]
- deps = [
- ":async_socket",
- ":socket",
- ]
+ # TODO(bugs.webrtc.org/9987): This build target will soon contain
+ # the following files:
+ # sources = [
+ # "socket_factory.h",
+ # ]
}
-rtc_library("async_socket") {
- sources = [
- "async_socket.cc",
- "async_socket.h",
- ]
- deps = [
- ":checks",
- ":socket",
- ":socket_address",
- "third_party/sigslot",
- ]
+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("socket") {
- sources = [
- "socket.cc",
- "socket.h",
- ]
- deps = [
- ":macromagic",
- ":socket_address",
- ]
- if (is_win) {
- deps += [ ":win32" ]
- }
+rtc_source_set("socket") {
+ # TODO(bugs.webrtc.org/9987): This build target will soon contain
+ # the following files:
+ # sources = [
+ # "socket.cc",
+ # "socket.h",
+ # ]
}
rtc_source_set("network_constants") {
- sources = [
- "network_constants.cc",
- "network_constants.h",
- ]
- deps = [ ":checks" ]
+ # TODO(bugs.webrtc.org/9987): This build target will soon contain
+ # the following files:
+ # sources = [
+ # "network_constants.h",
+ # ]
}
if (is_android) {
- rtc_library("ifaddrs_android") {
- sources = [
- "ifaddrs_android.cc",
- "ifaddrs_android.h",
- ]
- libs = [
- "log",
- "GLESv2",
- ]
+ 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",
+ # ]
}
}
if (is_win) {
- rtc_library("win32") {
+ rtc_source_set("win32") {
sources = [
"win32.cc",
"win32.h",
@@ -908,20 +831,10 @@
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",
@@ -957,6 +870,10 @@
"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",
@@ -976,16 +893,30 @@
"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",
@@ -999,6 +930,8 @@
"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",
@@ -1007,10 +940,16 @@
"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",
@@ -1023,6 +962,9 @@
"ssl_stream_adapter.h",
"stream.cc",
"stream.h",
+ "thread.cc",
+ "thread.h",
+ "thread_message.h",
"unique_id_generator.cc",
"unique_id_generator.h",
]
@@ -1076,11 +1018,20 @@
}
if (is_android) {
- deps += [ ":ifaddrs_android" ]
+ sources += [
+ "ifaddrs_android.cc",
+ "ifaddrs_android.h",
+ ]
+
+ libs += [
+ "log",
+ "GLESv2",
+ ]
}
if (is_ios || is_mac) {
sources += [ "mac_ifaddrs_converter.cc" ]
+ deps += [ "system:cocoa_threading" ]
}
if (is_linux || is_chromeos) {
@@ -1135,7 +1086,6 @@
":rtc_base",
":rtc_base_tests_utils",
":stringutils",
- ":threading",
"../test:test_support",
]
absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
@@ -1152,7 +1102,6 @@
":gunit_helpers",
":rtc_base",
":rtc_base_tests_utils",
- ":threading",
":timeutils",
"synchronization:mutex",
]
@@ -1211,15 +1160,8 @@
"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",
@@ -1287,19 +1229,11 @@
"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",
@@ -1363,13 +1297,10 @@
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",
@@ -1379,12 +1310,8 @@
":safe_compare",
":safe_minmax",
":sanitizer",
- ":socket",
- ":socket_address",
- ":socket_server",
":stringutils",
":testclient",
- ":threading",
"../api:array_view",
"../api:scoped_refptr",
"../api/numerics",
@@ -1431,7 +1358,6 @@
":rtc_base_approved",
":rtc_event",
":rtc_operations_chain",
- ":threading",
"../test:test_support",
]
}
@@ -1513,19 +1439,11 @@
"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
deleted file mode 100644
index 198b498..0000000
--- a/rtc_base/async_resolver.cc
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * 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 c05377a..3c3ad82 100644
--- a/rtc_base/async_resolver.h
+++ b/rtc_base/async_resolver.h
@@ -11,62 +11,7 @@
#ifndef RTC_BASE_ASYNC_RESOLVER_H_
#define RTC_BASE_ASYNC_RESOLVER_H_
-#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
+// Placeholder header for the refactoring in:
+// https://webrtc-review.googlesource.com/c/src/+/196903
#endif // RTC_BASE_ASYNC_RESOLVER_H_
diff --git a/rtc_base/internal/default_socket_server.cc b/rtc_base/internal/default_socket_server.cc
deleted file mode 100644
index 5632b98..0000000
--- a/rtc_base/internal/default_socket_server.cc
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * 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
deleted file mode 100644
index 5b3489f..0000000
--- a/rtc_base/internal/default_socket_server.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * 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 9f1df58..9dd534c 100644
--- a/rtc_base/ip_address.cc
+++ b/rtc_base/ip_address.cc
@@ -20,9 +20,8 @@
#include <netdb.h>
#endif
-#include "rtc_base/ip_address.h"
-
#include "rtc_base/byte_order.h"
+#include "rtc_base/ip_address.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 8fbb549..838fbc6 100644
--- a/rtc_base/memory/BUILD.gn
+++ b/rtc_base/memory/BUILD.gn
@@ -36,7 +36,6 @@
]
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 e51a51a..c6685e2 100644
--- a/rtc_base/net_helpers.cc
+++ b/rtc_base/net_helpers.cc
@@ -10,8 +10,6 @@
#include "rtc_base/net_helpers.h"
-#include <memory>
-
#if defined(WEBRTC_WIN)
#include <ws2spi.h>
#include <ws2tcpip.h>
@@ -19,7 +17,6 @@
#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
@@ -27,8 +24,145 @@
#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 4ed8478..172a222 100644
--- a/rtc_base/net_helpers.h
+++ b/rtc_base/net_helpers.h
@@ -15,12 +15,57 @@
#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);
@@ -28,7 +73,6 @@
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 adf3fab..3cb7c20 100644
--- a/rtc_base/physical_socket_server.cc
+++ b/rtc_base/physical_socket_server.cc
@@ -119,6 +119,14 @@
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 5a09aac..cc21a67 100644
--- a/rtc_base/physical_socket_server.h
+++ b/rtc_base/physical_socket_server.h
@@ -21,9 +21,8 @@
#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 3762762..648f397 100644
--- a/rtc_base/physical_socket_server_unittest.cc
+++ b/rtc_base/physical_socket_server_unittest.cc
@@ -18,7 +18,6 @@
#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 16922af..618e224 100644
--- a/rtc_base/synchronization/BUILD.gn
+++ b/rtc_base/synchronization/BUILD.gn
@@ -88,7 +88,6 @@
"..: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 1045398..3244902 100644
--- a/rtc_base/thread.cc
+++ b/rtc_base/thread.cc
@@ -33,7 +33,6 @@
#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"
@@ -258,7 +257,7 @@
#ifndef NO_MAIN_THREAD_WRAPPING
// Only autowrap the thread which instantiated the ThreadManager.
if (!thread && manager->IsMainThread()) {
- thread = new Thread(CreateDefaultSocketServer());
+ thread = new Thread(SocketServer::CreateDefault());
thread->WrapCurrentWithThreadManager(manager, true);
}
#endif
@@ -327,7 +326,7 @@
Thread* ThreadManager::WrapCurrentThread() {
Thread* result = CurrentThread();
if (nullptr == result) {
- result = new Thread(CreateDefaultSocketServer());
+ result = new Thread(SocketServer::CreateDefault());
result->WrapCurrentWithThreadManager(this, true);
}
return result;
@@ -697,7 +696,7 @@
}
std::unique_ptr<Thread> Thread::CreateWithSocketServer() {
- return std::unique_ptr<Thread>(new Thread(CreateDefaultSocketServer()));
+ return std::unique_ptr<Thread>(new Thread(SocketServer::CreateDefault()));
}
std::unique_ptr<Thread> Thread::Create() {
@@ -1138,7 +1137,7 @@
}
AutoThread::AutoThread()
- : Thread(CreateDefaultSocketServer(), /*do_init=*/false) {
+ : Thread(SocketServer::CreateDefault(), /*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 705e268..5132198 100644
--- a/rtc_base/thread_unittest.cc
+++ b/rtc_base/thread_unittest.cc
@@ -19,7 +19,6 @@
#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"
@@ -506,7 +505,7 @@
class ThreadQueueTest : public ::testing::Test, public Thread {
public:
- ThreadQueueTest() : Thread(CreateDefaultSocketServer(), true) {}
+ ThreadQueueTest() : Thread(SocketServer::CreateDefault(), true) {}
bool IsLocked_Worker() {
if (!CritForTest()->TryEnter()) {
return true;
@@ -556,7 +555,7 @@
}
TEST_F(ThreadQueueTest, DelayedPostsWithIdenticalTimesAreProcessedInFifoOrder) {
- Thread q(CreateDefaultSocketServer(), true);
+ Thread q(SocketServer::CreateDefault(), true);
DelayedPostsWithIdenticalTimesAreProcessedInFifoOrder(&q);
NullSocketServer nullss;
diff --git a/rtc_tools/BUILD.gn b/rtc_tools/BUILD.gn
index 1f0892b..9ba498c 100644
--- a/rtc_tools/BUILD.gn
+++ b/rtc_tools/BUILD.gn
@@ -181,7 +181,6 @@
"../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",
@@ -490,8 +489,6 @@
"../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 95b5c90..b270262 100644
--- a/rtc_tools/network_tester/BUILD.gn
+++ b/rtc_tools/network_tester/BUILD.gn
@@ -45,12 +45,9 @@
"../../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 e557ce4..00c87ef 100644
--- a/sdk/BUILD.gn
+++ b/sdk/BUILD.gn
@@ -236,10 +236,7 @@
sources = [ "objc/native/src/audio/audio_session_observer.h" ]
- deps = [
- "../rtc_base",
- "../rtc_base:threading",
- ]
+ deps = [ "../rtc_base" ]
}
rtc_library("audio_device") {
@@ -268,7 +265,6 @@
"../modules/audio_device:audio_device_generic",
"../rtc_base",
"../rtc_base:checks",
- "../rtc_base:threading",
"../system_wrappers:field_trial",
"../system_wrappers:metrics",
]
@@ -342,11 +338,7 @@
sources = [ "objc/native/src/network_monitor_observer.h" ]
- deps = [
- "../rtc_base",
- "../rtc_base:network_constants",
- "../rtc_base:threading",
- ]
+ deps = [ "../rtc_base" ]
}
rtc_library("network_monitor_objc") {
@@ -391,7 +383,6 @@
"../media:rtc_media_base",
"../rtc_base",
"../rtc_base:checks",
- "../rtc_base:threading",
"//third_party/libyuv",
]
@@ -982,7 +973,6 @@
"../pc:peerconnection",
"../rtc_base",
"../rtc_base:checks",
- "../rtc_base:network_constants",
"../system_wrappers:field_trial",
"../system_wrappers:metrics",
]
@@ -1087,7 +1077,6 @@
":sdk_unittests_bundle_data",
":sdk_unittests_sources",
"../rtc_base",
- "../rtc_base:threading",
"//test:test_support",
]
ldflags = [ "-all_load" ]
@@ -1107,7 +1096,6 @@
":framework_objc+link",
":ios_framework_bundle",
"../rtc_base",
- "../rtc_base:threading",
"//test:test_support",
]
}
@@ -1512,7 +1500,6 @@
"../api/video_codecs:video_codecs_api",
"../common_video",
"../rtc_base",
- "../rtc_base:threading",
]
if (is_ios) {
deps += [ ":native_network_monitor" ]
@@ -1533,7 +1520,6 @@
":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 b7992e1..ce5db77 100644
--- a/sdk/android/BUILD.gn
+++ b/sdk/android/BUILD.gn
@@ -559,9 +559,7 @@
"../../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",
@@ -658,7 +656,6 @@
"../../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",
@@ -749,7 +746,6 @@
"../../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",
]
@@ -920,7 +916,6 @@
deps = [
":base_jni",
- "../../rtc_base:threading",
"//rtc_base",
]
}
@@ -935,7 +930,6 @@
deps = [
":base_jni",
":peerconnection_jni",
- "../../rtc_base:threading",
"//api:libjingle_peerconnection_api",
"//api/video_codecs:video_codecs_api",
"//rtc_base",
@@ -974,7 +968,6 @@
":native_api_jni",
":video_jni",
":videoframe_jni",
- "../../rtc_base:threading",
"//api:libjingle_peerconnection_api",
"//api:media_stream_interface",
"//api/video:video_frame",
@@ -1478,7 +1471,6 @@
"../../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 a337979..0e1209f 100644
--- a/test/BUILD.gn
+++ b/test/BUILD.gn
@@ -145,7 +145,6 @@
"../api:scoped_refptr",
"../modules/video_capture:video_capture_module",
"../rtc_base",
- "../rtc_base:threading",
"../sdk:base_objc",
"../sdk:native_api",
"../sdk:native_video",
@@ -416,7 +415,6 @@
"../rtc_base:checks",
"../rtc_base:logging",
"../rtc_base:rtc_base_approved",
- "../rtc_base:threading",
"../system_wrappers:field_trial",
"../system_wrappers:metrics",
]
@@ -867,7 +865,6 @@
"../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 af7a4b7..4975f42 100644
--- a/test/fuzzers/BUILD.gn
+++ b/test/fuzzers/BUILD.gn
@@ -439,7 +439,6 @@
deps = [
"../../p2p:rtc_p2p",
"../../rtc_base",
- "../../rtc_base:threading",
]
}
diff --git a/test/network/BUILD.gn b/test/network/BUILD.gn
index 9c5c2be..383f149 100644
--- a/test/network/BUILD.gn
+++ b/test/network/BUILD.gn
@@ -51,16 +51,10 @@
"../../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",
@@ -132,7 +126,6 @@
"../../call:simulated_network",
"../../rtc_base",
"../../rtc_base:logging",
- "../../rtc_base:network_constants",
"../../rtc_base:rtc_event",
"../time_controller",
]
diff --git a/test/pc/e2e/BUILD.gn b/test/pc/e2e/BUILD.gn
index 8af76c3..3901297 100644
--- a/test/pc/e2e/BUILD.gn
+++ b/test/pc/e2e/BUILD.gn
@@ -61,7 +61,6 @@
"../../../api/transport:webrtc_key_value_config",
"../../../api/video_codecs:video_codecs_api",
"../../../rtc_base",
- "../../../rtc_base:threading",
]
}
@@ -329,7 +328,6 @@
"../../../api/transport:network_control",
"../../../api/video_codecs:video_codecs_api",
"../../../rtc_base",
- "../../../rtc_base:threading",
]
absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
}
@@ -406,7 +404,6 @@
"../../../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",
@@ -700,7 +697,6 @@
"../../../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 2034c9a..70a7471 100644
--- a/test/peer_scenario/BUILD.gn
+++ b/test/peer_scenario/BUILD.gn
@@ -48,7 +48,6 @@
"../../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 4316351..f5c22fc 100644
--- a/test/scenario/BUILD.gn
+++ b/test/scenario/BUILD.gn
@@ -132,9 +132,7 @@
"../../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 ee49445..c9fffe6 100644
--- a/test/time_controller/BUILD.gn
+++ b/test/time_controller/BUILD.gn
@@ -35,7 +35,6 @@
"../../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",
@@ -63,7 +62,6 @@
"../../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 acd1616..f3e5817 100644
--- a/video/BUILD.gn
+++ b/video/BUILD.gn
@@ -120,7 +120,6 @@
"../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",
@@ -669,7 +668,6 @@
"../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",