lossDelay property

Duration get lossDelay

How long a packet must have been outstanding before age alone marks it lost: 9/8 of the larger of the smoothed and latest RTT, floored at the timer granularity (RFC 9002 section 6.1.2). The larger of the two: after a sudden increase in delay the smoothed estimate lags, and alone it would declare a window of packets lost for being slower than they used to be.

Implementation

Duration get lossDelay {
  var rtt = congestionController.smoothedRtt;
  final latest = congestionController.latestRttForTest;
  if (latest > rtt) rtt = latest;
  var delay = rtt * 9 ~/ 8;
  if (delay < lossTimerGranularity) delay = lossTimerGranularity;
  return delay;
}