p2p_transport_channel: Add estimated disconnected time to CandidatePairChangeEvent
This patch adds a computed estimate on how long the ice stack
was disconnected before switching to a new connection.
The metric is currently computed as now - max(connection->last_data_recevied())
and has resonably good precision.
Bug: webrtc:11862
Change-Id: I8950d55f0eadcf164de089cdb715b4f7eed0a4c3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/182002
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31969}
diff --git a/sdk/android/api/org/webrtc/CandidatePairChangeEvent.java b/sdk/android/api/org/webrtc/CandidatePairChangeEvent.java
index 395b629..b8e6685 100644
--- a/sdk/android/api/org/webrtc/CandidatePairChangeEvent.java
+++ b/sdk/android/api/org/webrtc/CandidatePairChangeEvent.java
@@ -20,12 +20,20 @@
public final int lastDataReceivedMs;
public final String reason;
+ /**
+ * An estimate from the ICE stack on how long it was disconnected before
+ * changing to the new candidate pair in this event.
+ * The first time an candidate pair is signaled the value will be 0.
+ */
+ public final int estimatedDisconnectedTimeMs;
+
@CalledByNative
- CandidatePairChangeEvent(
- IceCandidate local, IceCandidate remote, int lastDataReceivedMs, String reason) {
+ CandidatePairChangeEvent(IceCandidate local, IceCandidate remote, int lastDataReceivedMs,
+ String reason, int estimatedDisconnectedTimeMs) {
this.local = local;
this.remote = remote;
this.lastDataReceivedMs = lastDataReceivedMs;
this.reason = reason;
+ this.estimatedDisconnectedTimeMs = estimatedDisconnectedTimeMs;
}
}