# 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") group("p2p") { deps = [ ":libstunprober", ":rtc_p2p", ] } rtc_library("rtc_p2p") { visibility = [ "*" ] sources = [ "base/active_ice_controller_factory_interface.h", "base/active_ice_controller_interface.h", "base/async_stun_tcp_socket.cc", "base/async_stun_tcp_socket.h", "base/basic_async_resolver_factory.cc", "base/basic_async_resolver_factory.h", "base/basic_ice_controller.cc", "base/basic_ice_controller.h", "base/basic_packet_socket_factory.cc", "base/basic_packet_socket_factory.h", "base/candidate_pair_interface.h", "base/connection.cc", "base/connection.h", "base/connection_info.cc", "base/connection_info.h", "base/default_ice_transport_factory.cc", "base/default_ice_transport_factory.h", "base/dtls_transport.cc", "base/dtls_transport.h", "base/dtls_transport_factory.h", "base/dtls_transport_internal.cc", "base/dtls_transport_internal.h", "base/ice_agent_interface.h", "base/ice_controller_factory_interface.h", "base/ice_controller_interface.cc", "base/ice_controller_interface.h", "base/ice_credentials_iterator.cc", "base/ice_credentials_iterator.h", "base/ice_switch_reason.cc", "base/ice_switch_reason.h", "base/ice_transport_internal.cc", "base/ice_transport_internal.h", "base/p2p_constants.cc", "base/p2p_constants.h", "base/p2p_transport_channel.cc", "base/p2p_transport_channel.h", "base/p2p_transport_channel_ice_field_trials.h", "base/packet_transport_internal.cc", "base/packet_transport_internal.h", "base/port.cc", "base/port.h", "base/port_allocator.cc", "base/port_allocator.h", "base/port_interface.cc", "base/port_interface.h", "base/pseudo_tcp.cc", "base/pseudo_tcp.h", "base/regathering_controller.cc", "base/regathering_controller.h", "base/stun_dictionary.cc", "base/stun_dictionary.h", "base/stun_port.cc", "base/stun_port.h", "base/stun_request.cc", "base/stun_request.h", "base/tcp_port.cc", "base/tcp_port.h", "base/transport_description.cc", "base/transport_description.h", "base/transport_description_factory.cc", "base/transport_description_factory.h", "base/transport_info.h", "base/turn_port.cc", "base/turn_port.h", "base/udp_port.h", "base/wrapping_active_ice_controller.cc", "base/wrapping_active_ice_controller.h", "client/basic_port_allocator.cc", "client/basic_port_allocator.h", "client/relay_port_factory_interface.h", "client/turn_port_factory.cc", "client/turn_port_factory.h", ] deps = [ "../api:array_view", "../api:async_dns_resolver", "../api:candidate", "../api:dtls_transport_interface", "../api:field_trials_view", "../api:ice_transport_interface", "../api:make_ref_counted", "../api:packet_socket_factory", "../api:rtc_error", "../api:scoped_refptr", "../api:sequence_checker", "../api:turn_customizer", "../api/crypto:options", "../api/rtc_event_log", "../api/task_queue", "../api/transport:enums", "../api/transport:field_trial_based_config", "../api/transport:stun_types", "../api/units:time_delta", "../api/units:timestamp", "../logging:ice_log", "../rtc_base:async_dns_resolver", "../rtc_base:async_packet_socket", "../rtc_base:async_tcp_socket", "../rtc_base:async_udp_socket", "../rtc_base:buffer", "../rtc_base:buffer_queue", "../rtc_base:byte_buffer", "../rtc_base:byte_order", "../rtc_base:callback_list", "../rtc_base:checks", "../rtc_base:crc32", "../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:network_route", "../rtc_base:proxy_info", "../rtc_base:rate_tracker", "../rtc_base:refcount", "../rtc_base:rtc_numerics", "../rtc_base:socket", "../rtc_base:socket_adapters", "../rtc_base:socket_address", "../rtc_base:socket_factory", "../rtc_base:socket_server", "../rtc_base:ssl", "../rtc_base:stream", "../rtc_base:stringutils", "../rtc_base:threading", "../rtc_base:timeutils", "../rtc_base/containers:flat_map", "../rtc_base/experiments:field_trial_parser", "../rtc_base/memory:always_valid_pointer", "../rtc_base/system:no_unique_address", # Needed by pseudo_tcp, which should move to a separate target. "../api/task_queue:pending_task_safety_flag", "../rtc_base:safe_minmax", "../rtc_base:weak_ptr", "../rtc_base/network:received_packet", "../rtc_base/network:sent_packet", "../rtc_base/synchronization:mutex", "../rtc_base/system:rtc_export", "../rtc_base/third_party/base64", "../rtc_base/third_party/sigslot", "../system_wrappers:metrics", ] absl_deps = [ "//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/types:optional", ] } if (rtc_include_tests) { rtc_library("fake_ice_transport") { testonly = true visibility = [ "*" ] sources = [ "base/fake_ice_transport.h" ] deps = [ ":rtc_p2p", "../api:ice_transport_interface", "../api:libjingle_peerconnection_api", "../api/task_queue:pending_task_safety_flag", "../api/units:time_delta", "../rtc_base:copy_on_write_buffer", "../rtc_base:task_queue_for_test", ] absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container", "//third_party/abseil-cpp/absl/strings", "//third_party/abseil-cpp/absl/types:optional", ] } rtc_library("fake_port_allocator") { testonly = true visibility = [ "*" ] sources = [ "base/fake_port_allocator.h" ] deps = [ ":rtc_p2p", "../rtc_base:net_helpers", "../rtc_base:net_test_helpers", "../rtc_base:task_queue_for_test", "../rtc_base:threading", "../rtc_base/memory:always_valid_pointer", ] absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] } rtc_library("p2p_test_utils") { testonly = true sources = [ "base/fake_dtls_transport.h", "base/fake_packet_transport.h", "base/mock_active_ice_controller.h", "base/mock_dns_resolving_packet_socket_factory.h", "base/mock_ice_agent.h", "base/mock_ice_controller.h", "base/mock_ice_transport.h", "base/test_stun_server.cc", "base/test_stun_server.h", "base/test_turn_customizer.h", "base/test_turn_server.h", ] deps = [ ":fake_ice_transport", ":fake_port_allocator", ":p2p_server_utils", ":rtc_p2p", "../api:dtls_transport_interface", "../api:libjingle_peerconnection_api", "../api:mock_async_dns_resolver", "../api:packet_socket_factory", "../api:sequence_checker", "../api:turn_customizer", "../api/crypto:options", "../api/transport:stun_types", "../rtc_base:async_udp_socket", "../rtc_base:copy_on_write_buffer", "../rtc_base:gunit_helpers", "../rtc_base:rtc_base_tests_utils", "../rtc_base:socket", "../rtc_base:socket_address", "../rtc_base:socket_server", "../rtc_base:ssl", "../rtc_base:threading", "../rtc_base/third_party/sigslot", "../test:test_support", ] absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container", "//third_party/abseil-cpp/absl/strings", "//third_party/abseil-cpp/absl/types:optional", ] } rtc_library("rtc_p2p_unittests") { testonly = true sources = [ "base/async_stun_tcp_socket_unittest.cc", "base/dtls_transport_unittest.cc", "base/ice_credentials_iterator_unittest.cc", "base/p2p_transport_channel_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/stun_server_unittest.cc", "base/tcp_port_unittest.cc", "base/transport_description_factory_unittest.cc", "base/transport_description_unittest.cc", "base/turn_port_unittest.cc", "base/turn_server_unittest.cc", "base/wrapping_active_ice_controller_unittest.cc", "client/basic_port_allocator_unittest.cc", ] deps = [ ":fake_ice_transport", ":fake_port_allocator", ":p2p_server_utils", ":p2p_test_utils", ":rtc_p2p", "../api:array_view", "../api:candidate", "../api:dtls_transport_interface", "../api:field_trials_view", "../api:libjingle_peerconnection_api", "../api:mock_async_dns_resolver", "../api:packet_socket_factory", "../api:scoped_refptr", "../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:buffer", "../rtc_base:byte_buffer", "../rtc_base:checks", "../rtc_base:copy_on_write_buffer", "../rtc_base:dscp", "../rtc_base:gunit_helpers", "../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:net_test_helpers", "../rtc_base:network", "../rtc_base:network_constants", "../rtc_base:proxy_info", "../rtc_base:rtc_base_tests_utils", "../rtc_base:socket", "../rtc_base:socket_adapters", "../rtc_base:socket_address", "../rtc_base:socket_address_pair", "../rtc_base:ssl", "../rtc_base:stringutils", "../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:rtc_expect_death", "../test:scoped_key_value_config", "../test:test_support", "//testing/gtest", ] absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container", "//third_party/abseil-cpp/absl/memory", "//third_party/abseil-cpp/absl/strings", "//third_party/abseil-cpp/absl/types:optional", ] } } rtc_library("p2p_server_utils") { testonly = true sources = [ "base/stun_server.cc", "base/stun_server.h", "base/turn_server.cc", "base/turn_server.h", ] deps = [ ":rtc_p2p", "../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:checks", "../rtc_base:logging", "../rtc_base:rtc_base_tests_utils", "../rtc_base:socket_adapters", "../rtc_base:socket_address", "../rtc_base:ssl", "../rtc_base:stringutils", "../rtc_base/network:received_packet", "../rtc_base/third_party/sigslot", ] absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container", "//third_party/abseil-cpp/absl/memory", "//third_party/abseil-cpp/absl/strings", ] } rtc_library("libstunprober") { visibility = [ "*" ] sources = [ "stunprober/stun_prober.cc", "stunprober/stun_prober.h", ] deps = [ ":rtc_p2p", "../api:array_view", "../api:async_dns_resolver", "../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:byte_buffer", "../rtc_base:checks", "../rtc_base:ip_address", "../rtc_base:logging", "../rtc_base:network", "../rtc_base:socket_address", "../rtc_base:ssl", "../rtc_base:threading", "../rtc_base:timeutils", "../rtc_base/network:received_packet", "../rtc_base/system:rtc_export", ] } if (rtc_include_tests) { rtc_library("libstunprober_unittests") { testonly = true sources = [ "stunprober/stun_prober_unittest.cc" ] deps = [ ":libstunprober", ":p2p_test_utils", ":rtc_p2p", "../rtc_base:checks", "../rtc_base:gunit_helpers", "../rtc_base:ip_address", "../rtc_base:rtc_base_tests_utils", "../rtc_base:ssl", "../test:test_support", "//testing/gtest", ] } }