Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/third_party/libwebrtc/p2p/   (Firefox Browser Version 153.0.1©)  Datei vom 27.6.2026 mit Größe 39 kB image not shown  

Quelle  BUILD.gn   Sprache: unbekannt

 
Spracherkennung für: .gn vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

# 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",
  ]
}

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: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/environment",
    "../api/transport:stun_types",
    "../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/network:received_packet",
    "../rtc_base/network:sent_packet",
    "//third_party/abseil-cpp/absl/base:nullability",
    "//third_party/abseil-cpp/absl/memory",
  ]
}

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:candidate",
    "../api/environment",
    "../api/transport:enums",
    "../api/units:time_delta",
    "../api/units:timestamp",
    "../rtc_base:checks",
    "../rtc_base:ip_address",
    "../rtc_base:logging",
    "../rtc_base:net_helper",
    "../rtc_base:network",
    "../rtc_base:network_constants",
    "//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",
    "../api/environment",
    "../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_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: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",
    ":p2p_constants",
    ":p2p_transport_channel_ice_field_trials",
    ":port_interface",
    ":stun_request",
    ":transport_description",
    "../api:candidate",
    "../api:rtc_error",
    "../api:sequence_checker",
    "../api/environment",
    "../api/task_queue",
    "../api/transport:stun_types",
    "../api/units:data_rate",
    "../api/units:time_delta",
    "../api/units:timestamp",
    "../logging:ice_log",
    "../rtc_base:async_packet_socket",
    "../rtc_base:bitrate_tracker",
    "../rtc_base:byte_buffer",
    "../rtc_base:callback_list",
    "../rtc_base:checks",
    "../rtc_base:crypto_random",
    "../rtc_base:logging",
    "../rtc_base:macromagic",
    "../rtc_base:net_helper",
    "../rtc_base:net_helpers",
    "../rtc_base:network",
    "../rtc_base:network_constants",
    "../rtc_base:rtc_numerics",
    "../rtc_base:socket",
    "../rtc_base:socket_address",
    "../rtc_base:span_helpers",
    "../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",
    "//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_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:dtls_transport_interface",
    "../api:field_trials_view",
    "../api:ice_transport_interface",
    "../api:make_ref_counted",
    "../api:rtc_error",
    "../api:scoped_refptr",
    "../api:sequence_checker",
    "../api/crypto:options",
    "../api/environment",
    "../api/rtc_event_log",
    "../api/task_queue:pending_task_safety_flag",
    "../api/transport:ecn_marking",
    "../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: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/network:received_packet",
    "../rtc_base/network:sent_packet",
    "../rtc_base/system:no_unique_address",
    "../system_wrappers",
    "../system_wrappers:metrics",
    "//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 = [
    "../api:ice_transport_interface",
    "../api:scoped_refptr",
    "../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",
    "../api/task_queue",
    "../rtc_base:buffer",
    "../rtc_base:callback_list",
    "../rtc_base:checks",
    "../rtc_base:ssl",
    "../rtc_base:ssl_adapter",
    "//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_source_set("ice_agent_interface") {
  sources = [ "base/ice_agent_interface.h" ]
  deps = [
    ":connection",
    ":ice_switch_reason",
    ":transport_description",
    "../api/units:timestamp",
  ]
}

rtc_library("ice_controller_interface") {
  sources = [
    "base/ice_controller_interface.cc",
    "base/ice_controller_interface.h",
  ]
  deps = [
    ":connection",
    ":ice_switch_reason",
    ":ice_transport_internal",
    ":transport_description",
    "../api/units:time_delta",
    "../api/units:timestamp",
    "../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",
    "../api/environment",
  ]
}

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_info",
    ":dtls_stun_piggyback_controller",
    ":p2p_constants",
    ":packet_transport_internal",
    ":port",
    ":stun_dictionary",
    ":transport_description",
    "../api:candidate",
    "../api:peer_connection_interface",
    "../api:rtc_error",
    "../api/task_queue",
    "../api/transport:enums",
    "../api/units:time_delta",
    "../rtc_base:callback_list",
    "../rtc_base:checks",
    "../rtc_base:net_helper",
    "../rtc_base:network_constants",
    "../rtc_base/system:rtc_export",
    "//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 = [
    "../api/units:data_rate",
    "../api/units:data_size",
    "../api/units:time_delta",
    "../rtc_base/system:plan_b_only",
    "../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",
    ":candidate_pair_interface",
    ":connection",
    ":connection_info",
    ":dtls_stun_piggyback_controller",
    ":ice_agent_interface",
    ":ice_controller_factory_interface",
    ":ice_switch_reason",
    ":ice_transport_internal",
    ":p2p_constants",
    ":p2p_transport_channel_ice_field_trials",
    ":port",
    ":port_allocator",
    ":port_interface",
    ":stun_dictionary",
    ":transport_description",
    ":wrapping_active_ice_controller",
    "../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/environment",
    "../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:checks",
    "../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/experiments:field_trial_parser",
    "../rtc_base/network:received_packet",
    "../rtc_base/network:sent_packet",
    "../rtc_base/system:no_unique_address",
    "../rtc_base/system:rtc_export",
    "../rtc_base/task_utils:repeating_task",
    "../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 = [
    "../api:sequence_checker",
    "../api/task_queue",
    "../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",
    "//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:candidate",
    "../api:local_network_access_permission",
    "../api:packet_socket_factory",
    "../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:span_helpers",
    "../rtc_base:stringutils",
    "../rtc_base:weak_ptr",
    "../rtc_base/network:received_packet",
    "../rtc_base/network:sent_packet",
    "../rtc_base/system:rtc_export",
    "//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 = [
    ":ice_credentials_iterator",
    ":port",
    ":port_interface",
    ":transport_description",
    "../api:candidate",
    "../api:sequence_checker",
    "../api/transport:enums",
    "../api/units:time_delta",
    "../rtc_base:callback_list",
    "../rtc_base:checks",
    "../rtc_base:crypto_random",
    "../rtc_base:net_helper",
    "../rtc_base:network",
    "../rtc_base:socket_address",
    "../rtc_base:ssl",
    "../rtc_base/system:rtc_export",
    "//third_party/abseil-cpp/absl/functional:any_invocable",
    "//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:packet_socket_factory",
    "../api/task_queue",
    "../rtc_base:async_packet_socket",
    "../rtc_base:dscp",
    "../rtc_base:net_helper",
    "../rtc_base:network",
    "../rtc_base:socket",
    "../rtc_base:socket_address",
    "../rtc_base:span_helpers",
    "../rtc_base/network:sent_packet",
    "//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("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 = [
    "../rtc_base: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:sequence_checker",
    "../api/transport:stun_types",
    "../rtc_base:checks",
    "../rtc_base:logging",
    "../rtc_base:macromagic",
    "../rtc_base:stringutils",
    "../rtc_base/network:received_packet",
    "../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",
    "../api/units:time_delta",
    "../api/units:timestamp",
    "../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/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:sequence_checker",
    "../api/environment",
    "../api/task_queue",
    "../api/task_queue:pending_task_safety_flag",
    "../api/transport:stun_types",
    "../api/units:time_delta",
    "../api/units:timestamp",
    "../rtc_base:byte_buffer",
    "../rtc_base:checks",
    "../rtc_base:logging",
    "../rtc_base:macromagic",
    "../rtc_base:stringutils",
    "//third_party/abseil-cpp/absl/memory",
    "//third_party/abseil-cpp/absl/strings:string_view",
  ]
}

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/environment",
    "../api/task_queue:pending_task_safety_flag",
    "../api/transport:stun_types",
    "../api/units:time_delta",
    "../api/units:timestamp",
    "../rtc_base:async_packet_socket",
    "../rtc_base:checks",
    "../rtc_base:ip_address",
    "../rtc_base:logging",
    "../rtc_base:net_helper",
    "../rtc_base:socket",
    "../rtc_base:socket_address",
    "../rtc_base:weak_ptr",
    "../rtc_base/containers:flat_map",
    "../rtc_base/network:received_packet",
    "../rtc_base/network:sent_packet",
    "//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 = [ ":transport_description" ]
}

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: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",
    "../system_wrappers:metrics",
    "//third_party/abseil-cpp/absl/algorithm:container",
    "//third_party/abseil-cpp/absl/base:core_headers",
    "//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",
    "../api/task_queue:pending_task_safety_flag",
    "../api/units:time_delta",
    "../rtc_base:checks",
    "../rtc_base:logging",
    "../rtc_base:macromagic",
    "../rtc_base:threading",
  ]
}

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_info",
      ":dtls_stun_piggyback_controller",
      ":ice_transport_internal",
      ":port",
      ":transport_description",
      "../api:candidate",
      "../api:field_trials",
      "../api:ice_transport_interface",
      "../api:sequence_checker",
      "../api/task_queue",
      "../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:span_helpers",
      "../rtc_base:task_queue_for_test",
      "../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",
      "../rtc_base:weak_ptr",
      "//third_party/abseil-cpp/absl/base:nullability",
      "//third_party/abseil-cpp/absl/functional:any_invocable",
      "//third_party/abseil-cpp/absl/memory",
      "//third_party/abseil-cpp/absl/strings:string_view",
    ]
  }

  rtc_library("p2p_test_utils") {
    testonly = true
    visibility = [ "*" ]
    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",
      ":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:async_dns_resolver",
      "../api:candidate",
      "../api:dtls_transport_interface",
      "../api:ice_transport_interface",
      "../api:mock_async_dns_resolver",
      "../api:rtc_error",
      "../api:scoped_refptr",
      "../api:sequence_checker",
      "../api:turn_customizer",
      "../api/environment",
      "../api/task_queue",
      "../api/task_queue:pending_task_safety_flag",
      "../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:buffer",
      "../rtc_base:byte_order",
      "../rtc_base:checks",
      "../rtc_base:copy_on_write_buffer",
      "../rtc_base:ip_address",
      "../rtc_base:logging",
      "../rtc_base:net_helper",
      "../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",
      "../test:run_loop",
      "../test:test_support",
      "//third_party/abseil-cpp/absl/base:core_headers",
      "//third_party/abseil-cpp/absl/memory",
      "//third_party/abseil-cpp/absl/strings:string_view",
    ]
  }

  rtc_library("rtc_p2p_unittests") {
    testonly = true

    sources = [
      "base/async_stun_tcp_socket_unittest.cc",
      "base/connection_unittest.cc",
      "base/ice_credentials_iterator_unittest.cc",
      "base/local_network_access_port_unittest.cc",
      "base/p2p_transport_channel_unittest.cc",
      "base/packet_transport_internal_unittest.cc",
      "base/port_allocator_unittest.cc",
      "base/port_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_integration_fixture.h",
      "dtls/dtls_ice_integration_test.cc",
      "dtls/dtls_stun_piggyback_controller_unittest.cc",
      "dtls/dtls_transport_unittest.cc",
      "dtls/dtls_utils_unittest.cc",
      "test/fake_ice_lite_agent.h",
      "test/nat_unittest.cc",
      "test/stun_server_unittest.cc",
      "test/turn_server_unittest.cc",
    ]
    deps = [
      ":active_ice_controller_factory_interface",
      ":active_ice_controller_interface",
      ":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",
      ":relay_port_factory_interface",
      ":stun_dictionary",
      ":stun_port",
      ":stun_request",
      ":tcp_port",
      ":test_port",
      ":transport_description",
      ":transport_description_factory",
      ":turn_port",
      ":wrapping_active_ice_controller",
      "../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:make_ref_counted",
      "../api:mock_async_dns_resolver",
      "../api:mock_local_network_access_permission",
      "../api:mock_packet_socket_factory",
      "../api:network_emulation_manager_api",
      "../api:packet_socket_factory",
      "../api:rtc_error",
      "../api:rtc_error_matchers",
      "../api:scoped_refptr",
      "../api:sequence_checker",
      "../api:simulated_network_api",
      "../api:time_controller",
      "../api/crypto:options",
      "../api/environment",
      "../api/environment:environment_factory",
      "../api/numerics",
      "../api/task_queue",
      "../api/task_queue:pending_task_safety_flag",
      "../api/transport:ecn_marking",
      "../api/transport:enums",
      "../api/transport:stun_types",
      "../api/units:data_rate",
      "../api/units:time_delta",
      "../api/units:timestamp",
      "../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: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:random",
      "../rtc_base:rtc_base_tests_utils",
      "../rtc_base:rtc_event",
      "../rtc_base:socket",
      "../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/system:unused",
      "../system_wrappers:metrics",
      "../test:create_test_environment",
      "../test:create_test_field_trials",
      "../test:run_loop",
      "../test:test_support",
      "../test:wait_until",
      "../test/time_controller",
      "//third_party/abseil-cpp/absl/algorithm:container",
      "//third_party/abseil-cpp/absl/container:flat_hash_set",
      "//third_party/abseil-cpp/absl/flags:flag",
      "//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:str_format",
      "//third_party/abseil-cpp/absl/strings:string_view",
    ]
  }
  rtc_test("dtls_ice_integration_bench") {
    testonly = true

    sources = [
      "dtls/dtls_ice_integration_bench.cc",
      "dtls/dtls_ice_integration_fixture.h",
      "test/fake_ice_lite_agent.h",
    ]
    deps = [
      ":active_ice_controller_factory_interface",
      ":active_ice_controller_interface",
      ":basic_packet_socket_factory",
      ":basic_port_allocator",
      ":connection",
      ":dtls_transport",
      ":fake_ice_transport",
      ":ice_switch_reason",
      ":ice_transport_internal",
      ":p2p_transport_channel",
      ":port_allocator",
      ":transport_description",
      "../api:candidate",
      "../api:create_network_emulation_manager",
      "../api:field_trials",
      "../api:ice_transport_interface",
      "../api:make_ref_counted",
      "../api:network_emulation_manager_api",
      "../api:scoped_refptr",
      "../api:simulated_network_api",
      "../api:time_controller",
      "../api/crypto:options",
      "../api/environment",
      "../api/environment:environment_factory",
      "../api/numerics",
      "../api/task_queue",
      "../api/task_queue:pending_task_safety_flag",
      "../api/units:data_rate",
      "../api/units:time_delta",
      "../api/units:timestamp",
      "../rtc_base:async_packet_socket",
      "../rtc_base:checks",
      "../rtc_base:logging",
      "../rtc_base:network",
      "../rtc_base:rtc_base_tests_utils",
      "../rtc_base:socket_address",
      "../rtc_base:ssl",
      "../rtc_base:ssl_adapter",
      "../rtc_base:threading",
      "../test:create_test_field_trials",
      "../test:run_loop",
      "../test:test_support",
      "../test:wait_until",
      "../test/time_controller",
      "//third_party/abseil-cpp/absl/algorithm:container",
      "//third_party/abseil-cpp/absl/container:flat_hash_set",
      "//third_party/abseil-cpp/absl/flags:flag",
      "//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:str_format",
      "//third_party/abseil-cpp/absl/strings:string_view",
    ]
  }
}

rtc_library("test_port") {
  testonly = true
  sources = [
    "test/test_port.cc",
    "test/test_port.h",
  ]
  deps = [
    ":connection",
    ":p2p_constants",
    ":port",
    ":port_interface",
    "../api:candidate",
    "../api/transport:stun_types",
    "../rtc_base:async_packet_socket",
    "../rtc_base:buffer",
    "../rtc_base:byte_buffer",
    "../rtc_base:net_helper",
    "../rtc_base:network",
    "../rtc_base:socket",
    "../rtc_base:socket_address",
    "../rtc_base/network:sent_packet",
    "//third_party/abseil-cpp/absl/memory",
    "//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",
    ":port_interface",
    "../api:packet_socket_factory",
    "../api:sequence_checker",
    "../api/environment",
    "../api/task_queue",
    "../api/task_queue:pending_task_safety_flag",
    "../api/transport:ecn_marking",
    "../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:net_helper",
    "../rtc_base:socket",
    "../rtc_base:socket_address",
    "../rtc_base:ssl_adapter",
    "../rtc_base:stringutils",
    "../rtc_base/memory:less_unique_ptr",
    "../rtc_base/network:received_packet",
    "//third_party/abseil-cpp/absl/algorithm:container",
    "//third_party/abseil-cpp/absl/base:nullability",
    "//third_party/abseil-cpp/absl/memory",
    "//third_party/abseil-cpp/absl/strings:string_view",
  ]
}

[Dauer der Verarbeitung: 0.49 Sekunden]