# 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") { public_deps = [ ":libstunprober", ":rtc_p2p", ] } rtc_library("rtc_p2p") { visibility = [ "*" ] sources = [ "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_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_transport_internal.cc", "base/ice_transport_internal.h", "base/mdns_message.cc", "base/mdns_message.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_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", "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:libjingle_peerconnection_api", "../api:packet_socket_factory", "../api:rtc_error", "../api:scoped_refptr", "../api/crypto:options", "../api/rtc_event_log", "../api/transport:enums", "../api/transport:stun_types", "../logging:ice_log", "../rtc_base", "../rtc_base:checks", "../rtc_base:rtc_numerics", "../rtc_base/experiments:field_trial_parser", # Needed by pseudo_tcp, which should move to a separate target. "../rtc_base:safe_minmax", "../rtc_base:weak_ptr", "../rtc_base/memory:fifo_buffer", "../rtc_base/network:sent_packet", "../rtc_base/system:rtc_export", "../rtc_base/task_utils:to_queued_task", "../rtc_base/third_party/base64", "../rtc_base/third_party/sigslot", "../system_wrappers:field_trial", "../system_wrappers:metrics", ] 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", ] } if (rtc_include_tests) { rtc_library("fake_ice_transport") { testonly = true visibility = [ "*" ] sources = [ "base/fake_ice_transport.h" ] deps = [ ":rtc_p2p", "../api:libjingle_peerconnection_api", "../rtc_base", "../rtc_base:rtc_base_approved", ] absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container", "//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", ] } rtc_library("p2p_test_utils") { testonly = true sources = [ "base/fake_dtls_transport.h", "base/fake_packet_transport.h", "base/mock_async_resolver.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:libjingle_peerconnection_api", "../api:packet_socket_factory", "../api/crypto:options", "../api/transport:stun_types", "../rtc_base", "../rtc_base:gunit_helpers", "../rtc_base:rtc_base_approved", "../rtc_base:rtc_base_tests_utils", "../rtc_base/third_party/sigslot", "../test:test_support", ] absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container", "//third_party/abseil-cpp/absl/types:optional", ] } rtc_library("rtc_p2p_unittests") { testonly = true sources = [ "base/async_stun_tcp_socket_unittest.cc", "base/basic_async_resolver_factory_unittest.cc", "base/dtls_transport_unittest.cc", "base/ice_credentials_iterator_unittest.cc", "base/mdns_message_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_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", "client/basic_port_allocator_unittest.cc", ] deps = [ ":fake_ice_transport", ":fake_port_allocator", ":p2p_server_utils", ":p2p_test_utils", ":rtc_p2p", "../api:libjingle_peerconnection_api", "../api:packet_socket_factory", "../api:scoped_refptr", "../api/transport:stun_types", "../api/units:time_delta", "../rtc_base", "../rtc_base:checks", "../rtc_base:gunit_helpers", "../rtc_base:rtc_base_approved", "../rtc_base:rtc_base_tests_utils", "../rtc_base:testclient", "../rtc_base/network:sent_packet", "../rtc_base/third_party/sigslot", "../system_wrappers:metrics", "../test:field_trial", "../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/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:packet_socket_factory", "../api/transport:stun_types", "../rtc_base", "../rtc_base:checks", "../rtc_base:rtc_base_tests_utils", "../rtc_base/third_party/sigslot", ] absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container" ] } rtc_library("libstunprober") { visibility = [ "*" ] sources = [ "stunprober/stun_prober.cc", "stunprober/stun_prober.h", ] deps = [ ":rtc_p2p", "../api:packet_socket_factory", "../api/transport:stun_types", "../rtc_base", "../rtc_base:checks", "../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", "../rtc_base:checks", "../rtc_base:gunit_helpers", "../rtc_base:rtc_base_tests_utils", "../test:test_support", "//testing/gtest", ] } }