Files
platform-external-webrtc/p2p/BUILD.gn
Jonas Oreland bfcb6c3f13 Add rtt estimate EventBasedExponentialMovingAverage to Connection
This patch estimates the connection RTT using
EventBasedExponentialMovingAverage. The half time is
set to 500 but can be modified using field trials.

This new metric is currently unused, but will
be used for exploration of of whether it can be used
instead of the existing metric.

Bug: webrtc:11140
Change-Id: I9db93e9b9eb932e3cd18935cd4ce0d90fc1cb293
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161000
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29944}
2019-11-28 09:24:44 +00:00

291 lines
8.1 KiB
Plaintext

# 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_interface.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",
"//third_party/abseil-cpp/absl/memory",
# 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/third_party/base64",
"../rtc_base/third_party/sigslot",
"../system_wrappers:field_trial",
"../system_wrappers:metrics",
"//third_party/abseil-cpp/absl/algorithm:container",
"//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",
"//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",
"//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/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",
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/memory",
]
}
}
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",
"//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",
]
}
}