diff options
Diffstat (limited to 'third_party/libwebrtc/p2p/base/p2p_transport_channel_ice_field_trials.h')
-rw-r--r-- | third_party/libwebrtc/p2p/base/p2p_transport_channel_ice_field_trials.h | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/third_party/libwebrtc/p2p/base/p2p_transport_channel_ice_field_trials.h b/third_party/libwebrtc/p2p/base/p2p_transport_channel_ice_field_trials.h new file mode 100644 index 0000000000..f19823b21e --- /dev/null +++ b/third_party/libwebrtc/p2p/base/p2p_transport_channel_ice_field_trials.h @@ -0,0 +1,77 @@ +/* + * Copyright 2019 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. + */ + +#ifndef P2P_BASE_P2P_TRANSPORT_CHANNEL_ICE_FIELD_TRIALS_H_ +#define P2P_BASE_P2P_TRANSPORT_CHANNEL_ICE_FIELD_TRIALS_H_ + +#include "absl/types/optional.h" + +namespace cricket { + +// Field trials for P2PTransportChannel and friends, +// put in separate file so that they can be shared e.g +// with Connection. +struct IceFieldTrials { + // This struct is built using the FieldTrialParser, and then not modified. + // TODO(jonaso) : Consider how members of this struct can be made const. + + bool skip_relay_to_non_relay_connections = false; + absl::optional<int> max_outstanding_pings; + + // Wait X ms before selecting a connection when having none. + // This will make media slower, but will give us chance to find + // a better connection before starting. + absl::optional<int> initial_select_dampening; + + // If the connection has recevied a ping-request, delay by + // maximum this delay. This will make media slower, but will + // give us chance to find a better connection before starting. + absl::optional<int> initial_select_dampening_ping_received; + + // Announce GOOG_PING support in STUN_BINDING_RESPONSE if requested + // by peer. + bool announce_goog_ping = true; + + // Enable sending GOOG_PING if remote announce it. + bool enable_goog_ping = false; + + // Decay rate for RTT estimate using EventBasedExponentialMovingAverage + // expressed as halving time. + int rtt_estimate_halftime_ms = 500; + + // Sending a PING directly after a switch on ICE_CONTROLLING-side. + // TODO(jonaso) : Deprecate this in favor of + // `send_ping_on_selected_ice_controlling`. + bool send_ping_on_switch_ice_controlling = false; + + // Sending a PING directly after selecting a connection + // (i.e either a switch or the inital selection). + bool send_ping_on_selected_ice_controlling = false; + + // Sending a PING directly after a nomination on ICE_CONTROLLED-side. + bool send_ping_on_nomination_ice_controlled = false; + + // The timeout after which the connection will be considered dead if no + // traffic is received. + int dead_connection_timeout_ms = 30000; + + // Stop gathering when having a strong connection. + bool stop_gather_on_strongly_connected = true; + + // DSCP taging. + absl::optional<int> override_dscp; + + bool piggyback_ice_check_acknowledgement = false; + bool extra_ice_ping = false; +}; + +} // namespace cricket + +#endif // P2P_BASE_P2P_TRANSPORT_CHANNEL_ICE_FIELD_TRIALS_H_ |