You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I think the bbrv2 get the min_rtt in this code,and it's triggered by one ack frame.And one ack frame may include some packet number to be acked.For example,if one ack frame has three acked packet number : 1,2,3; the 3 is largest ack packet number。And the “acked_packets” contain packet 1,2,3. So when compute min_rtt, the code will loop "acked_packets",for packet 1,2,3, it will get min value. But obviously,the packet 1will get min value becaues the packet 1's send time is smallest ,and ack time is same.
So my question is does it will cause the rtt will be smaller than real rtt.I think may be only use packet 3 to compute rtt is more correct?
And the ack frame may contain packet‘s receive timestamp,why it doesn't used in compute rtt? because ietf quic may not contain receive timestamp?
The text was updated successfully, but these errors were encountered:
BandwidthSampler::OnCongestionEvent(QuicTime ack_time,
const AckedPacketVector& acked_packets,
const LostPacketVector& lost_packets,
QuicBandwidth max_bandwidth,
QuicBandwidth est_bandwidth_upper_bound,
QuicRoundTripCount round_trip_count) {
CongestionEventSample event_sample;
.
.
.
for (const auto& packet : acked_packets) {
BandwidthSample sample =
OnPacketAcknowledged(ack_time, packet.packet_number);
if (!sample.rtt.IsZero()) {
event_sample.sample_rtt = std::min(event_sample.sample_rtt, sample.rtt);
}
I think the bbrv2 get the min_rtt in this code,and it's triggered by one ack frame.And one ack frame may include some packet number to be acked.For example,if one ack frame has three acked packet number : 1,2,3; the 3 is largest ack packet number。And the “acked_packets” contain packet 1,2,3. So when compute min_rtt, the code will loop "acked_packets",for packet 1,2,3, it will get min value. But obviously,the packet 1will get min value becaues the packet 1's send time is smallest ,and ack time is same.
So my question is does it will cause the rtt will be smaller than real rtt.I think may be only use packet 3 to compute rtt is more correct?
And the ack frame may contain packet‘s receive timestamp,why it doesn't used in compute rtt? because ietf quic may not contain receive timestamp?
The text was updated successfully, but these errors were encountered: