| # Copyright (c) 2016 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. | 
 |  | 
 | import("../webrtc.gni") | 
 |  | 
 | rtc_source_set("active_ice_controller_factory_interface") { | 
 |   sources = [ "base/active_ice_controller_factory_interface.h" ] | 
 |   deps = [ | 
 |     ":active_ice_controller_interface", | 
 |     ":ice_agent_interface", | 
 |     ":ice_controller_factory_interface", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_source_set("active_ice_controller_interface") { | 
 |   sources = [ "base/active_ice_controller_interface.h" ] | 
 |   deps = [ | 
 |     ":connection", | 
 |     ":ice_switch_reason", | 
 |     ":ice_transport_internal", | 
 |     ":transport_description", | 
 |     "../api:array_view", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("basic_async_resolver_factory") { | 
 |   sources = [ | 
 |     "base/basic_async_resolver_factory.cc", | 
 |     "base/basic_async_resolver_factory.h", | 
 |   ] | 
 |   deps = [ | 
 |     "../api:async_dns_resolver", | 
 |     "../rtc_base:async_dns_resolver", | 
 |     "../rtc_base:logging", | 
 |     "../rtc_base:socket_address", | 
 |     "//third_party/abseil-cpp/absl/functional:any_invocable", | 
 |     "//third_party/abseil-cpp/absl/memory", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("async_stun_tcp_socket") { | 
 |   sources = [ | 
 |     "base/async_stun_tcp_socket.cc", | 
 |     "base/async_stun_tcp_socket.h", | 
 |   ] | 
 |   deps = [ | 
 |     "../api:array_view", | 
 |     "../api/transport:stun_types", | 
 |     "../api/units:timestamp", | 
 |     "../rtc_base:async_packet_socket", | 
 |     "../rtc_base:async_tcp_socket", | 
 |     "../rtc_base:byte_order", | 
 |     "../rtc_base:checks", | 
 |     "../rtc_base:socket", | 
 |     "../rtc_base:socket_address", | 
 |     "../rtc_base:timeutils", | 
 |     "../rtc_base/network:received_packet", | 
 |     "../rtc_base/network:sent_packet", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("basic_ice_controller") { | 
 |   sources = [ | 
 |     "base/basic_ice_controller.cc", | 
 |     "base/basic_ice_controller.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":connection", | 
 |     ":connection_info", | 
 |     ":ice_controller_factory_interface", | 
 |     ":ice_controller_interface", | 
 |     ":ice_switch_reason", | 
 |     ":ice_transport_internal", | 
 |     ":p2p_constants", | 
 |     ":p2p_transport_channel_ice_field_trials", | 
 |     ":transport_description", | 
 |     "../api:array_view", | 
 |     "../api:candidate", | 
 |     "../api/transport:enums", | 
 |     "../rtc_base:checks", | 
 |     "../rtc_base:ip_address", | 
 |     "../rtc_base:logging", | 
 |     "../rtc_base:net_helper", | 
 |     "../rtc_base:network", | 
 |     "../rtc_base:network_constants", | 
 |     "../rtc_base:timeutils", | 
 |     "//third_party/abseil-cpp/absl/algorithm:container", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("basic_packet_socket_factory") { | 
 |   sources = [ | 
 |     "base/basic_packet_socket_factory.cc", | 
 |     "base/basic_packet_socket_factory.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":async_stun_tcp_socket", | 
 |     "../api:async_dns_resolver", | 
 |     "../api:packet_socket_factory", | 
 |     "../rtc_base:async_dns_resolver", | 
 |     "../rtc_base:async_packet_socket", | 
 |     "../rtc_base:async_tcp_socket", | 
 |     "../rtc_base:async_udp_socket", | 
 |     "../rtc_base:checks", | 
 |     "../rtc_base:logging", | 
 |     "../rtc_base:socket", | 
 |     "../rtc_base:socket_adapters", | 
 |     "../rtc_base:socket_address", | 
 |     "../rtc_base:socket_factory", | 
 |     "../rtc_base:ssl", | 
 |     "../rtc_base:ssl_adapter", | 
 |     "../rtc_base/system:rtc_export", | 
 |     "//third_party/abseil-cpp/absl/memory", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("basic_port_allocator") { | 
 |   sources = [ | 
 |     "client/basic_port_allocator.cc", | 
 |     "client/basic_port_allocator.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":port", | 
 |     ":port_allocator", | 
 |     ":port_interface", | 
 |     ":relay_port_factory_interface", | 
 |     ":stun_port", | 
 |     ":tcp_port", | 
 |     ":turn_port", | 
 |     ":turn_port_factory", | 
 |     "../api:candidate", | 
 |     "../api:field_trials_view", | 
 |     "../api:local_network_access_permission", | 
 |     "../api:packet_socket_factory", | 
 |     "../api:sequence_checker", | 
 |     "../api:turn_customizer", | 
 |     "../api/environment", | 
 |     "../api/task_queue:pending_task_safety_flag", | 
 |     "../api/transport:enums", | 
 |     "../api/units:time_delta", | 
 |     "../rtc_base:async_packet_socket", | 
 |     "../rtc_base:checks", | 
 |     "../rtc_base:crypto_random", | 
 |     "../rtc_base:event_tracer", | 
 |     "../rtc_base:ip_address", | 
 |     "../rtc_base:logging", | 
 |     "../rtc_base:macromagic", | 
 |     "../rtc_base:net_helper", | 
 |     "../rtc_base:net_helpers", | 
 |     "../rtc_base:network", | 
 |     "../rtc_base:network_constants", | 
 |     "../rtc_base:socket_address", | 
 |     "../rtc_base:stringutils", | 
 |     "../rtc_base:threading", | 
 |     "../rtc_base/memory:always_valid_pointer", | 
 |     "../rtc_base/network:received_packet", | 
 |     "../rtc_base/system:rtc_export", | 
 |     "//third_party/abseil-cpp/absl/algorithm:container", | 
 |     "//third_party/abseil-cpp/absl/base:core_headers", | 
 |     "//third_party/abseil-cpp/absl/base:nullability", | 
 |     "//third_party/abseil-cpp/absl/memory", | 
 |     "//third_party/abseil-cpp/absl/strings:string_view", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_source_set("candidate_pair_interface") { | 
 |   sources = [ "base/candidate_pair_interface.h" ] | 
 |   deps = [ "../api:candidate" ] | 
 | } | 
 |  | 
 | rtc_library("connection") { | 
 |   sources = [ | 
 |     "base/connection.cc", | 
 |     "base/connection.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":candidate_pair_interface", | 
 |     ":connection_info", | 
 |     ":dtls_stun_piggyback_controller", | 
 |     ":dtls_utils", | 
 |     ":ice_credentials_iterator", | 
 |     ":p2p_constants", | 
 |     ":p2p_transport_channel_ice_field_trials", | 
 |     ":port_interface", | 
 |     ":stun_request", | 
 |     ":transport_description", | 
 |     "../api:array_view", | 
 |     "../api:candidate", | 
 |     "../api:field_trials_view", | 
 |     "../api:packet_socket_factory", | 
 |     "../api:rtc_error", | 
 |     "../api:sequence_checker", | 
 |     "../api/task_queue", | 
 |     "../api/transport:enums", | 
 |     "../api/transport:stun_types", | 
 |     "../api/units:time_delta", | 
 |     "../api/units:timestamp", | 
 |     "../logging:ice_log", | 
 |     "../rtc_base:async_packet_socket", | 
 |     "../rtc_base:base64", | 
 |     "../rtc_base:byte_buffer", | 
 |     "../rtc_base:callback_list", | 
 |     "../rtc_base:checks", | 
 |     "../rtc_base:copy_on_write_buffer", | 
 |     "../rtc_base:crc32", | 
 |     "../rtc_base:crypto_random", | 
 |     "../rtc_base:dscp", | 
 |     "../rtc_base:event_tracer", | 
 |     "../rtc_base:ip_address", | 
 |     "../rtc_base:logging", | 
 |     "../rtc_base:macromagic", | 
 |     "../rtc_base:mdns_responder_interface", | 
 |     "../rtc_base:net_helper", | 
 |     "../rtc_base:net_helpers", | 
 |     "../rtc_base:network", | 
 |     "../rtc_base:network_constants", | 
 |     "../rtc_base:rate_tracker", | 
 |     "../rtc_base:rtc_numerics", | 
 |     "../rtc_base:safe_minmax", | 
 |     "../rtc_base:socket", | 
 |     "../rtc_base:socket_address", | 
 |     "../rtc_base:stringutils", | 
 |     "../rtc_base:threading", | 
 |     "../rtc_base:timeutils", | 
 |     "../rtc_base:weak_ptr", | 
 |     "../rtc_base/memory:always_valid_pointer", | 
 |     "../rtc_base/network:received_packet", | 
 |     "../rtc_base/network:sent_packet", | 
 |     "../rtc_base/system:rtc_export", | 
 |     "../rtc_base/third_party/sigslot", | 
 |     "//third_party/abseil-cpp/absl/algorithm:container", | 
 |     "//third_party/abseil-cpp/absl/base:core_headers", | 
 |     "//third_party/abseil-cpp/absl/functional:any_invocable", | 
 |     "//third_party/abseil-cpp/absl/strings:string_view", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("connection_info") { | 
 |   sources = [ | 
 |     "base/connection_info.cc", | 
 |     "base/connection_info.h", | 
 |   ] | 
 |   deps = [ | 
 |     "../api:candidate", | 
 |     "../api/units:timestamp", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("default_ice_transport_factory") { | 
 |   sources = [ | 
 |     "base/default_ice_transport_factory.cc", | 
 |     "base/default_ice_transport_factory.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":basic_ice_controller", | 
 |     ":ice_controller_factory_interface", | 
 |     ":ice_controller_interface", | 
 |     ":p2p_transport_channel", | 
 |     "../api:ice_transport_interface", | 
 |     "../api:make_ref_counted", | 
 |     "../api:scoped_refptr", | 
 |     "../api:sequence_checker", | 
 |     "../rtc_base:macromagic", | 
 |     "../rtc_base:threading", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("dtls_transport") { | 
 |   sources = [ | 
 |     "dtls/dtls_transport.cc", | 
 |     "dtls/dtls_transport.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":dtls_stun_piggyback_controller", | 
 |     ":dtls_transport_internal", | 
 |     ":dtls_utils", | 
 |     ":ice_transport_internal", | 
 |     ":packet_transport_internal", | 
 |     "../api:array_view", | 
 |     "../api:dtls_transport_interface", | 
 |     "../api:rtc_error", | 
 |     "../api:scoped_refptr", | 
 |     "../api:sequence_checker", | 
 |     "../api/crypto:options", | 
 |     "../api/rtc_event_log", | 
 |     "../api/task_queue:pending_task_safety_flag", | 
 |     "../api/transport:ecn_marking", | 
 |     "../api/transport:stun_types", | 
 |     "../api/units:time_delta", | 
 |     "../api/units:timestamp", | 
 |     "../logging:ice_log", | 
 |     "../rtc_base:async_packet_socket", | 
 |     "../rtc_base:buffer", | 
 |     "../rtc_base:buffer_queue", | 
 |     "../rtc_base:checks", | 
 |     "../rtc_base:dscp", | 
 |     "../rtc_base:logging", | 
 |     "../rtc_base:macromagic", | 
 |     "../rtc_base:network_route", | 
 |     "../rtc_base:socket", | 
 |     "../rtc_base:socket_address", | 
 |     "../rtc_base:ssl", | 
 |     "../rtc_base:ssl_adapter", | 
 |     "../rtc_base:stream", | 
 |     "../rtc_base:stringutils", | 
 |     "../rtc_base:threading", | 
 |     "../rtc_base:timeutils", | 
 |     "../rtc_base/network:received_packet", | 
 |     "../rtc_base/network:sent_packet", | 
 |     "../rtc_base/system:no_unique_address", | 
 |     "//third_party/abseil-cpp/absl/functional:any_invocable", | 
 |     "//third_party/abseil-cpp/absl/memory", | 
 |     "//third_party/abseil-cpp/absl/strings:string_view", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_source_set("dtls_transport_factory") { | 
 |   sources = [ "dtls/dtls_transport_factory.h" ] | 
 |   deps = [ | 
 |     ":dtls_transport_internal", | 
 |     ":ice_transport_internal", | 
 |     "../api/crypto:options", | 
 |     "../rtc_base:ssl_adapter", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("dtls_transport_internal") { | 
 |   sources = [ | 
 |     "dtls/dtls_transport_internal.cc", | 
 |     "dtls/dtls_transport_internal.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":ice_transport_internal", | 
 |     ":packet_transport_internal", | 
 |     "../api:dtls_transport_interface", | 
 |     "../api:rtc_error", | 
 |     "../api:scoped_refptr", | 
 |     "../rtc_base:buffer", | 
 |     "../rtc_base:callback_list", | 
 |     "../rtc_base:ssl", | 
 |     "../rtc_base:ssl_adapter", | 
 |     "//third_party/abseil-cpp/absl/base:core_headers", | 
 |     "//third_party/abseil-cpp/absl/strings:string_view", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_source_set("ice_agent_interface") { | 
 |   sources = [ "base/ice_agent_interface.h" ] | 
 |   deps = [ | 
 |     ":connection", | 
 |     ":ice_switch_reason", | 
 |     ":transport_description", | 
 |     "../api:array_view", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("ice_controller_interface") { | 
 |   sources = [ | 
 |     "base/ice_controller_interface.cc", | 
 |     "base/ice_controller_interface.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":connection", | 
 |     ":ice_switch_reason", | 
 |     ":ice_transport_internal", | 
 |     ":p2p_transport_channel_ice_field_trials", | 
 |     ":transport_description", | 
 |     "../api:array_view", | 
 |     "../rtc_base:checks", | 
 |     "../rtc_base/system:rtc_export", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_source_set("ice_controller_factory_interface") { | 
 |   sources = [ "base/ice_controller_factory_interface.h" ] | 
 |   deps = [ | 
 |     ":connection", | 
 |     ":ice_controller_interface", | 
 |     ":ice_transport_internal", | 
 |     ":p2p_transport_channel_ice_field_trials", | 
 |     ":transport_description", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("ice_credentials_iterator") { | 
 |   sources = [ | 
 |     "base/ice_credentials_iterator.cc", | 
 |     "base/ice_credentials_iterator.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":p2p_constants", | 
 |     ":transport_description", | 
 |     "../rtc_base:crypto_random", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("ice_switch_reason") { | 
 |   sources = [ | 
 |     "base/ice_switch_reason.cc", | 
 |     "base/ice_switch_reason.h", | 
 |   ] | 
 |   deps = [ "../rtc_base/system:rtc_export" ] | 
 | } | 
 |  | 
 | rtc_library("ice_transport_internal") { | 
 |   sources = [ | 
 |     "base/ice_transport_internal.cc", | 
 |     "base/ice_transport_internal.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":candidate_pair_interface", | 
 |     ":connection", | 
 |     ":connection_info", | 
 |     ":dtls_stun_piggyback_controller", | 
 |     ":p2p_constants", | 
 |     ":packet_transport_internal", | 
 |     ":port", | 
 |     ":stun_dictionary", | 
 |     ":transport_description", | 
 |     "../api:array_view", | 
 |     "../api:candidate", | 
 |     "../api:field_trials_view", | 
 |     "../api:libjingle_peerconnection_api", | 
 |     "../api:rtc_error", | 
 |     "../api/transport:enums", | 
 |     "../api/transport:stun_types", | 
 |     "../rtc_base:callback_list", | 
 |     "../rtc_base:checks", | 
 |     "../rtc_base:net_helper", | 
 |     "../rtc_base:network_constants", | 
 |     "../rtc_base:timeutils", | 
 |     "../rtc_base/network:received_packet", | 
 |     "../rtc_base/system:rtc_export", | 
 |     "../rtc_base/third_party/sigslot", | 
 |     "//third_party/abseil-cpp/absl/functional:any_invocable", | 
 |     "//third_party/abseil-cpp/absl/strings:string_view", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("p2p_constants") { | 
 |   sources = [ | 
 |     "base/p2p_constants.cc", | 
 |     "base/p2p_constants.h", | 
 |   ] | 
 |   deps = [ "../rtc_base/system:rtc_export" ] | 
 | } | 
 |  | 
 | rtc_library("p2p_transport_channel") { | 
 |   sources = [ | 
 |     "base/p2p_transport_channel.cc", | 
 |     "base/p2p_transport_channel.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":active_ice_controller_factory_interface", | 
 |     ":active_ice_controller_interface", | 
 |     ":basic_ice_controller", | 
 |     ":candidate_pair_interface", | 
 |     ":connection", | 
 |     ":connection_info", | 
 |     ":dtls_stun_piggyback_controller", | 
 |     ":ice_agent_interface", | 
 |     ":ice_controller_factory_interface", | 
 |     ":ice_controller_interface", | 
 |     ":ice_switch_reason", | 
 |     ":ice_transport_internal", | 
 |     ":p2p_constants", | 
 |     ":p2p_transport_channel_ice_field_trials", | 
 |     ":port", | 
 |     ":port_allocator", | 
 |     ":port_interface", | 
 |     ":regathering_controller", | 
 |     ":stun_dictionary", | 
 |     ":transport_description", | 
 |     ":wrapping_active_ice_controller", | 
 |     "../api:array_view", | 
 |     "../api:async_dns_resolver", | 
 |     "../api:candidate", | 
 |     "../api:field_trials_view", | 
 |     "../api:ice_transport_interface", | 
 |     "../api:local_network_access_permission", | 
 |     "../api:rtc_error", | 
 |     "../api:sequence_checker", | 
 |     "../api/task_queue:pending_task_safety_flag", | 
 |     "../api/transport:enums", | 
 |     "../api/transport:stun_types", | 
 |     "../api/units:time_delta", | 
 |     "../logging:ice_log", | 
 |     "../rtc_base:async_packet_socket", | 
 |     "../rtc_base:checks", | 
 |     "../rtc_base:copy_on_write_buffer", | 
 |     "../rtc_base:dscp", | 
 |     "../rtc_base:event_tracer", | 
 |     "../rtc_base:ip_address", | 
 |     "../rtc_base:logging", | 
 |     "../rtc_base:macromagic", | 
 |     "../rtc_base:net_helper", | 
 |     "../rtc_base:net_helpers", | 
 |     "../rtc_base:network", | 
 |     "../rtc_base:network_constants", | 
 |     "../rtc_base:network_route", | 
 |     "../rtc_base:socket", | 
 |     "../rtc_base:socket_address", | 
 |     "../rtc_base:stringutils", | 
 |     "../rtc_base:threading", | 
 |     "../rtc_base:timeutils", | 
 |     "../rtc_base/experiments:field_trial_parser", | 
 |     "../rtc_base/network:received_packet", | 
 |     "../rtc_base/network:sent_packet", | 
 |     "../rtc_base/system:rtc_export", | 
 |     "../system_wrappers:metrics", | 
 |     "//third_party/abseil-cpp/absl/algorithm:container", | 
 |     "//third_party/abseil-cpp/absl/base:core_headers", | 
 |     "//third_party/abseil-cpp/absl/functional:any_invocable", | 
 |     "//third_party/abseil-cpp/absl/memory", | 
 |     "//third_party/abseil-cpp/absl/strings", | 
 |     "//third_party/abseil-cpp/absl/strings:string_view", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_source_set("p2p_transport_channel_ice_field_trials") { | 
 |   sources = [ "base/p2p_transport_channel_ice_field_trials.h" ] | 
 | } | 
 |  | 
 | rtc_library("packet_transport_internal") { | 
 |   sources = [ | 
 |     "base/packet_transport_internal.cc", | 
 |     "base/packet_transport_internal.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":connection", | 
 |     ":port", | 
 |     "../api:sequence_checker", | 
 |     "../rtc_base:async_packet_socket", | 
 |     "../rtc_base:callback_list", | 
 |     "../rtc_base:checks", | 
 |     "../rtc_base:macromagic", | 
 |     "../rtc_base:network_route", | 
 |     "../rtc_base:socket", | 
 |     "../rtc_base/network:received_packet", | 
 |     "../rtc_base/network:sent_packet", | 
 |     "../rtc_base/system:rtc_export", | 
 |     "../rtc_base/third_party/sigslot", | 
 |     "//third_party/abseil-cpp/absl/functional:any_invocable", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("port") { | 
 |   sources = [ | 
 |     "base/port.cc", | 
 |     "base/port.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":candidate_pair_interface", | 
 |     ":connection", | 
 |     ":p2p_constants", | 
 |     ":port_interface", | 
 |     ":stun_request", | 
 |     ":transport_description", | 
 |     "../api:array_view", | 
 |     "../api:candidate", | 
 |     "../api:field_trials_view", | 
 |     "../api:local_network_access_permission", | 
 |     "../api:packet_socket_factory", | 
 |     "../api:rtc_error", | 
 |     "../api:sequence_checker", | 
 |     "../api/environment", | 
 |     "../api/task_queue", | 
 |     "../api/transport:stun_types", | 
 |     "../api/units:time_delta", | 
 |     "../rtc_base:async_packet_socket", | 
 |     "../rtc_base:byte_buffer", | 
 |     "../rtc_base:callback_list", | 
 |     "../rtc_base:checks", | 
 |     "../rtc_base:crypto_random", | 
 |     "../rtc_base:dscp", | 
 |     "../rtc_base:event_tracer", | 
 |     "../rtc_base:ip_address", | 
 |     "../rtc_base:logging", | 
 |     "../rtc_base:macromagic", | 
 |     "../rtc_base:mdns_responder_interface", | 
 |     "../rtc_base:net_helper", | 
 |     "../rtc_base:net_helpers", | 
 |     "../rtc_base:network", | 
 |     "../rtc_base:socket_address", | 
 |     "../rtc_base:stringutils", | 
 |     "../rtc_base:timeutils", | 
 |     "../rtc_base:weak_ptr", | 
 |     "../rtc_base/network:received_packet", | 
 |     "../rtc_base/network:sent_packet", | 
 |     "../rtc_base/system:rtc_export", | 
 |     "../rtc_base/third_party/sigslot", | 
 |     "//third_party/abseil-cpp/absl/algorithm:container", | 
 |     "//third_party/abseil-cpp/absl/functional:any_invocable", | 
 |     "//third_party/abseil-cpp/absl/memory", | 
 |     "//third_party/abseil-cpp/absl/strings", | 
 |     "//third_party/abseil-cpp/absl/strings:string_view", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("port_allocator") { | 
 |   sources = [ | 
 |     "base/port_allocator.cc", | 
 |     "base/port_allocator.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":connection", | 
 |     ":ice_credentials_iterator", | 
 |     ":port", | 
 |     ":port_interface", | 
 |     ":transport_description", | 
 |     "../api:candidate", | 
 |     "../api:sequence_checker", | 
 |     "../api/transport:enums", | 
 |     "../rtc_base:checks", | 
 |     "../rtc_base:crypto_random", | 
 |     "../rtc_base:network", | 
 |     "../rtc_base:socket_address", | 
 |     "../rtc_base:ssl", | 
 |     "../rtc_base:threading", | 
 |     "../rtc_base/system:rtc_export", | 
 |     "../rtc_base/third_party/sigslot", | 
 |     "//third_party/abseil-cpp/absl/strings:string_view", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("port_interface") { | 
 |   sources = [ | 
 |     "base/port_interface.cc", | 
 |     "base/port_interface.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":transport_description", | 
 |     "../api:candidate", | 
 |     "../api:field_trials_view", | 
 |     "../api:packet_socket_factory", | 
 |     "../api/task_queue:task_queue", | 
 |     "../rtc_base:async_packet_socket", | 
 |     "../rtc_base:callback_list", | 
 |     "../rtc_base:dscp", | 
 |     "../rtc_base:network", | 
 |     "../rtc_base:network", | 
 |     "../rtc_base:socket", | 
 |     "../rtc_base:socket_address", | 
 |     "../rtc_base/network:sent_packet", | 
 |     "../rtc_base/third_party/sigslot", | 
 |     "//third_party/abseil-cpp/absl/strings:string_view", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("pseudo_tcp") { | 
 |   sources = [ | 
 |     "base/pseudo_tcp.cc", | 
 |     "base/pseudo_tcp.h", | 
 |   ] | 
 |   deps = [ | 
 |     "../api:array_view", | 
 |     "../rtc_base:byte_buffer", | 
 |     "../rtc_base:byte_order", | 
 |     "../rtc_base:checks", | 
 |     "../rtc_base:logging", | 
 |     "../rtc_base:macromagic", | 
 |     "../rtc_base:safe_minmax", | 
 |     "../rtc_base:socket", | 
 |     "../rtc_base:timeutils", | 
 |     "../rtc_base/synchronization:mutex", | 
 |     "../rtc_base/system:rtc_export", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("regathering_controller") { | 
 |   sources = [ | 
 |     "base/regathering_controller.cc", | 
 |     "base/regathering_controller.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":connection", | 
 |     ":ice_transport_internal", | 
 |     ":p2p_constants", | 
 |     ":packet_transport_internal", | 
 |     ":port_allocator", | 
 |     "../api:sequence_checker", | 
 |     "../api/task_queue:pending_task_safety_flag", | 
 |     "../api/units:time_delta", | 
 |     "../rtc_base:checks", | 
 |     "../rtc_base:network_route", | 
 |     "../rtc_base:threading", | 
 |     "../rtc_base/third_party/sigslot", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("stun_dictionary") { | 
 |   sources = [ | 
 |     "base/stun_dictionary.cc", | 
 |     "base/stun_dictionary.h", | 
 |   ] | 
 |   deps = [ | 
 |     "../api:rtc_error", | 
 |     "../api/transport:stun_types", | 
 |     "../rtc_base:byte_buffer", | 
 |     "../rtc_base:logging", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("dtls_utils") { | 
 |   sources = [ | 
 |     "dtls/dtls_utils.cc", | 
 |     "dtls/dtls_utils.h", | 
 |   ] | 
 |   deps = [ | 
 |     "../api:array_view", | 
 |     "../rtc_base:buffer", | 
 |     "../rtc_base:byte_buffer", | 
 |     "../rtc_base:checks", | 
 |     "../rtc_base:crc32", | 
 |     "//third_party/abseil-cpp/absl/container:flat_hash_set", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("dtls_stun_piggyback_controller") { | 
 |   sources = [ | 
 |     "dtls/dtls_stun_piggyback_callbacks.h", | 
 |     "dtls/dtls_stun_piggyback_controller.cc", | 
 |     "dtls/dtls_stun_piggyback_controller.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":dtls_utils", | 
 |     "../api:array_view", | 
 |     "../api:sequence_checker", | 
 |     "../api/transport:stun_types", | 
 |     "../api/transport:stun_types", | 
 |     "../rtc_base:buffer", | 
 |     "../rtc_base:byte_buffer", | 
 |     "../rtc_base:checks", | 
 |     "../rtc_base:logging", | 
 |     "../rtc_base:logging", | 
 |     "../rtc_base:macromagic", | 
 |     "../rtc_base:stringutils", | 
 |     "../rtc_base/system:no_unique_address", | 
 |     "//third_party/abseil-cpp/absl/container:flat_hash_set", | 
 |     "//third_party/abseil-cpp/absl/functional:any_invocable", | 
 |     "//third_party/abseil-cpp/absl/strings", | 
 |     "//third_party/abseil-cpp/absl/strings:str_format", | 
 |     "//third_party/abseil-cpp/absl/strings:string_view", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("stun_port") { | 
 |   sources = [ | 
 |     "base/stun_port.cc", | 
 |     "base/stun_port.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":connection", | 
 |     ":p2p_constants", | 
 |     ":port", | 
 |     ":port_interface", | 
 |     ":stun_request", | 
 |     "../api:async_dns_resolver", | 
 |     "../api:candidate", | 
 |     "../api:field_trials_view", | 
 |     "../api:local_network_access_permission", | 
 |     "../api:packet_socket_factory", | 
 |     "../api/transport:stun_types", | 
 |     "../rtc_base:async_packet_socket", | 
 |     "../rtc_base:checks", | 
 |     "../rtc_base:dscp", | 
 |     "../rtc_base:ip_address", | 
 |     "../rtc_base:logging", | 
 |     "../rtc_base:net_helper", | 
 |     "../rtc_base:network", | 
 |     "../rtc_base:network_constants", | 
 |     "../rtc_base:socket", | 
 |     "../rtc_base:socket_address", | 
 |     "../rtc_base:stringutils", | 
 |     "../rtc_base:timeutils", | 
 |     "../rtc_base/network:received_packet", | 
 |     "../rtc_base/network:sent_packet", | 
 |     "../rtc_base/system:rtc_export", | 
 |     "../system_wrappers:metrics", | 
 |     "//third_party/abseil-cpp/absl/memory", | 
 |     "//third_party/abseil-cpp/absl/strings:string_view", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("stun_request") { | 
 |   sources = [ | 
 |     "base/stun_request.cc", | 
 |     "base/stun_request.h", | 
 |   ] | 
 |   deps = [ | 
 |     "../api:array_view", | 
 |     "../api:sequence_checker", | 
 |     "../api/task_queue", | 
 |     "../api/task_queue:pending_task_safety_flag", | 
 |     "../api/transport:stun_types", | 
 |     "../api/units:time_delta", | 
 |     "../rtc_base:byte_buffer", | 
 |     "../rtc_base:checks", | 
 |     "../rtc_base:crypto_random", | 
 |     "../rtc_base:logging", | 
 |     "../rtc_base:macromagic", | 
 |     "../rtc_base:stringutils", | 
 |     "../rtc_base:timeutils", | 
 |     "//third_party/abseil-cpp/absl/memory", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("tcp_port") { | 
 |   sources = [ | 
 |     "base/tcp_port.cc", | 
 |     "base/tcp_port.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":connection", | 
 |     ":connection_info", | 
 |     ":p2p_constants", | 
 |     ":port", | 
 |     ":port_interface", | 
 |     ":stun_request", | 
 |     "../api:candidate", | 
 |     "../api:packet_socket_factory", | 
 |     "../api:sequence_checker", | 
 |     "../api/task_queue:pending_task_safety_flag", | 
 |     "../api/transport:stun_types", | 
 |     "../api/units:time_delta", | 
 |     "../rtc_base:async_packet_socket", | 
 |     "../rtc_base:checks", | 
 |     "../rtc_base:ip_address", | 
 |     "../rtc_base:logging", | 
 |     "../rtc_base:net_helper", | 
 |     "../rtc_base:rate_tracker", | 
 |     "../rtc_base:socket", | 
 |     "../rtc_base:socket_address", | 
 |     "../rtc_base:timeutils", | 
 |     "../rtc_base:weak_ptr", | 
 |     "../rtc_base/containers:flat_map", | 
 |     "../rtc_base/network:received_packet", | 
 |     "../rtc_base/network:sent_packet", | 
 |     "../rtc_base/third_party/sigslot", | 
 |     "//third_party/abseil-cpp/absl/algorithm:container", | 
 |     "//third_party/abseil-cpp/absl/memory", | 
 |     "//third_party/abseil-cpp/absl/strings:string_view", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("transport_description") { | 
 |   sources = [ | 
 |     "base/transport_description.cc", | 
 |     "base/transport_description.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":p2p_constants", | 
 |     "../api:rtc_error", | 
 |     "../rtc_base:logging", | 
 |     "../rtc_base:ssl", | 
 |     "../rtc_base:stringutils", | 
 |     "../rtc_base/system:rtc_export", | 
 |     "//third_party/abseil-cpp/absl/algorithm:container", | 
 |     "//third_party/abseil-cpp/absl/strings", | 
 |     "//third_party/abseil-cpp/absl/strings:string_view", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("transport_description_factory") { | 
 |   sources = [ | 
 |     "base/transport_description_factory.cc", | 
 |     "base/transport_description_factory.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":ice_credentials_iterator", | 
 |     ":transport_description", | 
 |     "../api:field_trials_view", | 
 |     "../api:scoped_refptr", | 
 |     "../rtc_base:checks", | 
 |     "../rtc_base:logging", | 
 |     "../rtc_base:ssl", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_source_set("transport_info") { | 
 |   sources = [ "base/transport_info.h" ] | 
 |   deps = [ | 
 |     ":p2p_constants", | 
 |     ":transport_description", | 
 |     "../api:candidate", | 
 |     "../rtc_base:ssl", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("turn_port") { | 
 |   sources = [ | 
 |     "base/turn_port.cc", | 
 |     "base/turn_port.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":connection", | 
 |     ":p2p_constants", | 
 |     ":port", | 
 |     ":port_allocator", | 
 |     ":port_interface", | 
 |     ":relay_port_factory_interface", | 
 |     ":stun_request", | 
 |     "../api:array_view", | 
 |     "../api:async_dns_resolver", | 
 |     "../api:candidate", | 
 |     "../api:local_network_access_permission", | 
 |     "../api:packet_socket_factory", | 
 |     "../api:scoped_refptr", | 
 |     "../api:turn_customizer", | 
 |     "../api/task_queue", | 
 |     "../api/task_queue:pending_task_safety_flag", | 
 |     "../api/transport:stun_types", | 
 |     "../api/units:time_delta", | 
 |     "../rtc_base:async_packet_socket", | 
 |     "../rtc_base:byte_buffer", | 
 |     "../rtc_base:byte_order", | 
 |     "../rtc_base:callback_list", | 
 |     "../rtc_base:checks", | 
 |     "../rtc_base:dscp", | 
 |     "../rtc_base:ip_address", | 
 |     "../rtc_base:logging", | 
 |     "../rtc_base:net_helper", | 
 |     "../rtc_base:network", | 
 |     "../rtc_base:socket", | 
 |     "../rtc_base:socket_address", | 
 |     "../rtc_base:ssl", | 
 |     "../rtc_base:stringutils", | 
 |     "../rtc_base/network:received_packet", | 
 |     "../rtc_base/network:sent_packet", | 
 |     "../rtc_base/third_party/sigslot", | 
 |     "../system_wrappers:metrics", | 
 |     "//third_party/abseil-cpp/absl/algorithm:container", | 
 |     "//third_party/abseil-cpp/absl/memory", | 
 |     "//third_party/abseil-cpp/absl/strings", | 
 |     "//third_party/abseil-cpp/absl/strings:string_view", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("turn_port_factory") { | 
 |   sources = [ | 
 |     "client/turn_port_factory.cc", | 
 |     "client/turn_port_factory.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":port", | 
 |     ":port_allocator", | 
 |     ":relay_port_factory_interface", | 
 |     ":turn_port", | 
 |     "../rtc_base:async_packet_socket", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_source_set("relay_port_factory_interface") { | 
 |   sources = [ "client/relay_port_factory_interface.h" ] | 
 |   deps = [ | 
 |     ":port", | 
 |     ":port_allocator", | 
 |     "../api:local_network_access_permission", | 
 |     "../api:packet_socket_factory", | 
 |     "../api/environment", | 
 |     "../rtc_base:async_packet_socket", | 
 |     "../rtc_base:network", | 
 |     "../rtc_base:threading", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("wrapping_active_ice_controller") { | 
 |   sources = [ | 
 |     "base/wrapping_active_ice_controller.cc", | 
 |     "base/wrapping_active_ice_controller.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":active_ice_controller_interface", | 
 |     ":basic_ice_controller", | 
 |     ":connection", | 
 |     ":ice_agent_interface", | 
 |     ":ice_controller_factory_interface", | 
 |     ":ice_controller_interface", | 
 |     ":ice_switch_reason", | 
 |     ":ice_transport_internal", | 
 |     ":transport_description", | 
 |     "../api:sequence_checker", | 
 |     "../api/task_queue:pending_task_safety_flag", | 
 |     "../api/units:time_delta", | 
 |     "../rtc_base:checks", | 
 |     "../rtc_base:logging", | 
 |     "../rtc_base:macromagic", | 
 |     "../rtc_base:threading", | 
 |     "../rtc_base:timeutils", | 
 |   ] | 
 | } | 
 |  | 
 | if (rtc_include_tests) { | 
 |   rtc_library("fake_ice_transport") { | 
 |     testonly = true | 
 |     visibility = [ "*" ] | 
 |     sources = [ | 
 |       "base/fake_ice_transport.h", | 
 |       "test/fake_ice_transport.h", | 
 |     ] | 
 |     deps = [ | 
 |       ":candidate_pair_interface", | 
 |       ":connection", | 
 |       ":connection_info", | 
 |       ":dtls_stun_piggyback_controller", | 
 |       ":ice_transport_internal", | 
 |       ":port", | 
 |       ":transport_description", | 
 |       "../api:array_view", | 
 |       "../api:candidate", | 
 |       "../api:field_trials", | 
 |       "../api:ice_transport_interface", | 
 |       "../api:libjingle_peerconnection_api", | 
 |       "../api:sequence_checker", | 
 |       "../api/task_queue:pending_task_safety_flag", | 
 |       "../api/transport:enums", | 
 |       "../api/transport:stun_types", | 
 |       "../api/units:time_delta", | 
 |       "../rtc_base:async_packet_socket", | 
 |       "../rtc_base:byte_buffer", | 
 |       "../rtc_base:checks", | 
 |       "../rtc_base:copy_on_write_buffer", | 
 |       "../rtc_base:logging", | 
 |       "../rtc_base:macromagic", | 
 |       "../rtc_base:network_route", | 
 |       "../rtc_base:socket", | 
 |       "../rtc_base:task_queue_for_test", | 
 |       "../rtc_base:threading", | 
 |       "../rtc_base:timeutils", | 
 |       "../rtc_base/network:received_packet", | 
 |       "../rtc_base/network:sent_packet", | 
 |       "../test:create_test_field_trials", | 
 |       "//third_party/abseil-cpp/absl/algorithm:container", | 
 |       "//third_party/abseil-cpp/absl/functional:any_invocable", | 
 |       "//third_party/abseil-cpp/absl/strings:string_view", | 
 |     ] | 
 |   } | 
 |  | 
 |   rtc_library("fake_port_allocator") { | 
 |     testonly = true | 
 |     visibility = [ "*" ] | 
 |     sources = [ | 
 |       "base/fake_port_allocator.h", | 
 |       "test/fake_port_allocator.h", | 
 |     ] | 
 |     deps = [ | 
 |       ":basic_packet_socket_factory", | 
 |       ":port", | 
 |       ":port_allocator", | 
 |       ":port_interface", | 
 |       ":stun_port", | 
 |       "../api:candidate", | 
 |       "../api:packet_socket_factory", | 
 |       "../api/environment", | 
 |       "../api/task_queue", | 
 |       "../rtc_base:async_packet_socket", | 
 |       "../rtc_base:checks", | 
 |       "../rtc_base:ip_address", | 
 |       "../rtc_base:net_test_helpers", | 
 |       "../rtc_base:network", | 
 |       "../rtc_base:socket_factory", | 
 |       "../rtc_base:task_queue_for_test", | 
 |       "//third_party/abseil-cpp/absl/base:nullability", | 
 |       "//third_party/abseil-cpp/absl/memory", | 
 |       "//third_party/abseil-cpp/absl/strings:string_view", | 
 |     ] | 
 |   } | 
 |  | 
 |   rtc_library("p2p_test_utils") { | 
 |     testonly = true | 
 |     sources = [ | 
 |       "base/mock_ice_agent.h", | 
 |       "base/mock_ice_controller.h", | 
 |       "base/mock_ice_transport.h", | 
 |       "dtls/fake_dtls_transport.h", | 
 |       "test/fake_packet_transport.h", | 
 |       "test/mock_active_ice_controller.h", | 
 |       "test/mock_dns_resolving_packet_socket_factory.h", | 
 |       "test/mock_ice_agent.h", | 
 |       "test/mock_ice_controller.h", | 
 |       "test/mock_ice_transport.h", | 
 |       "test/nat_server.cc", | 
 |       "test/nat_server.h", | 
 |       "test/nat_socket_factory.cc", | 
 |       "test/nat_socket_factory.h", | 
 |       "test/nat_types.cc", | 
 |       "test/nat_types.h", | 
 |       "test/test_stun_server.cc", | 
 |       "test/test_stun_server.h", | 
 |       "test/test_turn_customizer.h", | 
 |       "test/test_turn_server.h", | 
 |     ] | 
 |     deps = [ | 
 |       ":active_ice_controller_factory_interface", | 
 |       ":active_ice_controller_interface", | 
 |       ":basic_packet_socket_factory", | 
 |       ":candidate_pair_interface", | 
 |       ":connection", | 
 |       ":dtls_transport_internal", | 
 |       ":fake_ice_transport", | 
 |       ":fake_port_allocator", | 
 |       ":ice_agent_interface", | 
 |       ":ice_controller_factory_interface", | 
 |       ":ice_controller_interface", | 
 |       ":ice_switch_reason", | 
 |       ":ice_transport_internal", | 
 |       ":p2p_server_utils", | 
 |       ":packet_transport_internal", | 
 |       ":port_interface", | 
 |       ":transport_description", | 
 |       "../api:array_view", | 
 |       "../api:async_dns_resolver", | 
 |       "../api:candidate", | 
 |       "../api:dtls_transport_interface", | 
 |       "../api:libjingle_peerconnection_api", | 
 |       "../api:mock_async_dns_resolver", | 
 |       "../api:packet_socket_factory", | 
 |       "../api:rtc_error", | 
 |       "../api:scoped_refptr", | 
 |       "../api:sequence_checker", | 
 |       "../api:turn_customizer", | 
 |       "../api/crypto:options", | 
 |       "../api/transport:ecn_marking", | 
 |       "../api/transport:enums", | 
 |       "../api/transport:stun_types", | 
 |       "../api/units:time_delta", | 
 |       "../api/units:timestamp", | 
 |       "../rtc_base:async_packet_socket", | 
 |       "../rtc_base:async_udp_socket", | 
 |       "../rtc_base:async_udp_socket", | 
 |       "../rtc_base:buffer", | 
 |       "../rtc_base:byte_order", | 
 |       "../rtc_base:checks", | 
 |       "../rtc_base:copy_on_write_buffer", | 
 |       "../rtc_base:gunit_helpers", | 
 |       "../rtc_base:ip_address", | 
 |       "../rtc_base:logging", | 
 |       "../rtc_base:net_helpers", | 
 |       "../rtc_base:network_route", | 
 |       "../rtc_base:rtc_base_tests_utils", | 
 |       "../rtc_base:socket", | 
 |       "../rtc_base:socket_adapters", | 
 |       "../rtc_base:socket_address", | 
 |       "../rtc_base:socket_address_pair", | 
 |       "../rtc_base:socket_factory", | 
 |       "../rtc_base:socket_server", | 
 |       "../rtc_base:ssl", | 
 |       "../rtc_base:ssl_adapter", | 
 |       "../rtc_base:threading", | 
 |       "../rtc_base:timeutils", | 
 |       "../rtc_base/network:received_packet", | 
 |       "../rtc_base/network:sent_packet", | 
 |       "../rtc_base/synchronization:mutex", | 
 |       "../rtc_base/third_party/sigslot", | 
 |       "../test:test_support", | 
 |       "//third_party/abseil-cpp/absl/strings:string_view", | 
 |     ] | 
 |   } | 
 |  | 
 |   rtc_library("rtc_p2p_unittests") { | 
 |     testonly = true | 
 |  | 
 |     sources = [ | 
 |       "base/async_stun_tcp_socket_unittest.cc", | 
 |       "base/ice_credentials_iterator_unittest.cc", | 
 |       "base/p2p_transport_channel_unittest.cc", | 
 |       "base/packet_transport_internal_unittest.cc", | 
 |       "base/port_allocator_unittest.cc", | 
 |       "base/port_unittest.cc", | 
 |       "base/pseudo_tcp_unittest.cc", | 
 |       "base/regathering_controller_unittest.cc", | 
 |       "base/stun_dictionary_unittest.cc", | 
 |       "base/stun_port_unittest.cc", | 
 |       "base/stun_request_unittest.cc", | 
 |       "base/tcp_port_unittest.cc", | 
 |       "base/transport_description_factory_unittest.cc", | 
 |       "base/transport_description_unittest.cc", | 
 |       "base/turn_port_unittest.cc", | 
 |       "base/wrapping_active_ice_controller_unittest.cc", | 
 |       "client/basic_port_allocator_unittest.cc", | 
 |       "dtls/dtls_ice_integrationtest.cc", | 
 |       "dtls/dtls_stun_piggyback_controller_unittest.cc", | 
 |       "dtls/dtls_transport_unittest.cc", | 
 |       "dtls/dtls_utils_unittest.cc", | 
 |       "test/nat_unittest.cc", | 
 |       "test/stun_server_unittest.cc", | 
 |       "test/turn_server_unittest.cc", | 
 |     ] | 
 |     deps = [ | 
 |       ":async_stun_tcp_socket", | 
 |       ":basic_ice_controller", | 
 |       ":basic_packet_socket_factory", | 
 |       ":basic_port_allocator", | 
 |       ":candidate_pair_interface", | 
 |       ":connection", | 
 |       ":connection_info", | 
 |       ":dtls_stun_piggyback_controller", | 
 |       ":dtls_transport", | 
 |       ":dtls_transport_internal", | 
 |       ":dtls_utils", | 
 |       ":fake_ice_transport", | 
 |       ":fake_port_allocator", | 
 |       ":ice_controller_factory_interface", | 
 |       ":ice_controller_interface", | 
 |       ":ice_credentials_iterator", | 
 |       ":ice_switch_reason", | 
 |       ":ice_transport_internal", | 
 |       ":p2p_constants", | 
 |       ":p2p_server_utils", | 
 |       ":p2p_test_utils", | 
 |       ":p2p_transport_channel", | 
 |       ":p2p_transport_channel_ice_field_trials", | 
 |       ":packet_transport_internal", | 
 |       ":port", | 
 |       ":port_allocator", | 
 |       ":port_interface", | 
 |       ":pseudo_tcp", | 
 |       ":regathering_controller", | 
 |       ":relay_port_factory_interface", | 
 |       ":stun_dictionary", | 
 |       ":stun_port", | 
 |       ":stun_request", | 
 |       ":tcp_port", | 
 |       ":transport_description", | 
 |       ":transport_description_factory", | 
 |       ":turn_port", | 
 |       ":wrapping_active_ice_controller", | 
 |       "../api:array_view", | 
 |       "../api:async_dns_resolver", | 
 |       "../api:candidate", | 
 |       "../api:create_network_emulation_manager", | 
 |       "../api:dtls_transport_interface", | 
 |       "../api:field_trials", | 
 |       "../api:field_trials_view", | 
 |       "../api:ice_transport_interface", | 
 |       "../api:local_network_access_permission", | 
 |       "../api:mock_async_dns_resolver", | 
 |       "../api:mock_local_network_access_permission", | 
 |       "../api:network_emulation_manager_api", | 
 |       "../api:packet_socket_factory", | 
 |       "../api:rtc_error", | 
 |       "../api:rtc_error_matchers", | 
 |       "../api:scoped_refptr", | 
 |       "../api:simulated_network_api", | 
 |       "../api/crypto:options", | 
 |       "../api/environment", | 
 |       "../api/environment:environment_factory", | 
 |       "../api/task_queue", | 
 |       "../api/task_queue:pending_task_safety_flag", | 
 |       "../api/test/network_emulation", | 
 |       "../api/transport:ecn_marking", | 
 |       "../api/transport:enums", | 
 |       "../api/transport:stun_types", | 
 |       "../api/units:data_rate", | 
 |       "../api/units:time_delta", | 
 |       "../rtc_base:async_packet_socket", | 
 |       "../rtc_base:async_tcp_socket", | 
 |       "../rtc_base:async_udp_socket", | 
 |       "../rtc_base:buffer", | 
 |       "../rtc_base:byte_buffer", | 
 |       "../rtc_base:byte_order", | 
 |       "../rtc_base:checks", | 
 |       "../rtc_base:copy_on_write_buffer", | 
 |       "../rtc_base:crypto_random", | 
 |       "../rtc_base:dscp", | 
 |       "../rtc_base:gunit_helpers", | 
 |       "../rtc_base:ip_address", | 
 |       "../rtc_base:logging", | 
 |       "../rtc_base:mdns_responder_interface", | 
 |       "../rtc_base:net_helper", | 
 |       "../rtc_base:net_helpers", | 
 |       "../rtc_base:net_test_helpers", | 
 |       "../rtc_base:network", | 
 |       "../rtc_base:network_constants", | 
 |       "../rtc_base:network_route", | 
 |       "../rtc_base:rtc_base_tests_utils", | 
 |       "../rtc_base:rtc_event", | 
 |       "../rtc_base:socket", | 
 |       "../rtc_base:socket_adapters", | 
 |       "../rtc_base:socket_address", | 
 |       "../rtc_base:socket_factory", | 
 |       "../rtc_base:socket_server", | 
 |       "../rtc_base:ssl", | 
 |       "../rtc_base:ssl_adapter", | 
 |       "../rtc_base:stream", | 
 |       "../rtc_base:testclient", | 
 |       "../rtc_base:threading", | 
 |       "../rtc_base:timeutils", | 
 |       "../rtc_base/network:received_packet", | 
 |       "../rtc_base/network:sent_packet", | 
 |       "../rtc_base/third_party/sigslot", | 
 |       "../system_wrappers:metrics", | 
 |       "../test:create_test_field_trials", | 
 |       "../test:test_support", | 
 |       "../test:wait_until", | 
 |       "//third_party/abseil-cpp/absl/algorithm:container", | 
 |       "//third_party/abseil-cpp/absl/container:flat_hash_set", | 
 |       "//third_party/abseil-cpp/absl/functional:any_invocable", | 
 |       "//third_party/abseil-cpp/absl/memory", | 
 |       "//third_party/abseil-cpp/absl/strings", | 
 |       "//third_party/abseil-cpp/absl/strings:string_view", | 
 |     ] | 
 |   } | 
 | } | 
 |  | 
 | rtc_library("p2p_server_utils") { | 
 |   testonly = true | 
 |   sources = [ | 
 |     "test/stun_server.cc", | 
 |     "test/stun_server.h", | 
 |     "test/turn_server.cc", | 
 |     "test/turn_server.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":async_stun_tcp_socket", | 
 |     ":port_interface", | 
 |     "../api:array_view", | 
 |     "../api:packet_socket_factory", | 
 |     "../api:sequence_checker", | 
 |     "../api/task_queue", | 
 |     "../api/task_queue:pending_task_safety_flag", | 
 |     "../api/transport:stun_types", | 
 |     "../api/units:time_delta", | 
 |     "../rtc_base:async_packet_socket", | 
 |     "../rtc_base:async_udp_socket", | 
 |     "../rtc_base:byte_buffer", | 
 |     "../rtc_base:byte_order", | 
 |     "../rtc_base:checks", | 
 |     "../rtc_base:crypto_random", | 
 |     "../rtc_base:digest", | 
 |     "../rtc_base:ip_address", | 
 |     "../rtc_base:logging", | 
 |     "../rtc_base:macromagic", | 
 |     "../rtc_base:rtc_base_tests_utils", | 
 |     "../rtc_base:socket", | 
 |     "../rtc_base:socket_adapters", | 
 |     "../rtc_base:socket_address", | 
 |     "../rtc_base:ssl", | 
 |     "../rtc_base:ssl_adapter", | 
 |     "../rtc_base:stringutils", | 
 |     "../rtc_base:timeutils", | 
 |     "../rtc_base/network:received_packet", | 
 |     "../rtc_base/third_party/sigslot", | 
 |     "//third_party/abseil-cpp/absl/algorithm:container", | 
 |     "//third_party/abseil-cpp/absl/memory", | 
 |     "//third_party/abseil-cpp/absl/strings:string_view", | 
 |   ] | 
 | } |