Adds additional fields to NetworkStateEstimate.
This is part of a series of CLs with the goal to make the network
state estimate fields more semantically useful.
Bug: webrtc:10742
Change-Id: I3185dc8c4574710a4dce44a4ffd6cefe0fb4e8cc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144036
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Jonas Olsson <jonasolsson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28406}
diff --git a/api/transport/network_types.h b/api/transport/network_types.h
index dcbe3c4..df046db 100644
--- a/api/transport/network_types.h
+++ b/api/transport/network_types.h
@@ -227,18 +227,32 @@
// Under development, subject to change without notice.
struct NetworkStateEstimate {
- Timestamp last_feed_time = Timestamp::MinusInfinity();
+ double confidence = NAN;
+ // The time the estimate was received/calculated.
+ Timestamp update_time = Timestamp::MinusInfinity();
+ Timestamp last_receive_time = Timestamp::MinusInfinity();
Timestamp last_send_time = Timestamp::MinusInfinity();
- TimeDelta time_delta = TimeDelta::MinusInfinity();
+
+ // Total estimated link capacity.
DataRate link_capacity = DataRate::MinusInfinity();
- DataRate link_capacity_std_dev = DataRate::MinusInfinity();
- DataRate link_capacity_min = DataRate::MinusInfinity();
- double cross_traffic_ratio = NAN;
+ // Lower bound of link capacity estimate.
+ DataRate link_capacity_lower = DataRate::MinusInfinity();
+ // Expected available capacity for sending data after cross traffic is taken
+ // into consideration.
+ DataRate available_capacity = DataRate::MinusInfinity();
+
TimeDelta pre_link_buffer_delay = TimeDelta::MinusInfinity();
TimeDelta post_link_buffer_delay = TimeDelta::MinusInfinity();
TimeDelta propagation_delay = TimeDelta::MinusInfinity();
+
+ // Only for debugging
+ TimeDelta time_delta = TimeDelta::MinusInfinity();
+ Timestamp last_feed_time = Timestamp::MinusInfinity();
double cross_delay_rate = NAN;
double spike_delay_rate = NAN;
+ DataRate link_capacity_std_dev = DataRate::MinusInfinity();
+ DataRate link_capacity_min = DataRate::MinusInfinity();
+ double cross_traffic_ratio = NAN;
};
} // namespace webrtc