Subject: adjusted_rtt

From: Timo Völker <[email-masked]>
Date: Wed, 7 Apr 2021 17:22:24 +0000

Hi,

I noticed in a simulation with a constant RTT that the smoothed_rtt value includes the ack_delay. It looks like my implementation follows the recovery draft. By looking closer, I believe I found a tiny error in the draft.

Section 5.3 contains this sentence.

"MUST NOT subtract the acknowledgment delay from the RTT sample if the resulting value is smaller than the min_rtt."

I interpret this as do not subtract ack_delay from latest_rtt if

  latest_rtt - ack_delay < min_rtt

Or to say the inverse, substract ack_delay from latest_rtt if

  latest_rtt - ack_delay >= min_rtt
  <==> latest_rtt >= min_rtt + ack_delay
  <==> min_rtt + ack_delay <= latest_rtt

The pseudo code in Section 5.3 and in the appendix use a smaller instead of an equal or smaller in the if statement.

  if (min_rtt + ack_delay < latest_rtt):

It should be <= or did I miss something?

Timo

---

From: Lars Eggert <[email-masked]>
Date: Thu, 8 Apr 2021 11:15:22 +0300

I created https://github.com/quicwg/base-drafts/issues/4860 to track this.

Thanks,
Lars

> On 2021-4-7, at 20:22, Timo Völker <[email-masked]> wrote:
> 
> Hi,
>

---

From: Ian Swett <[email-masked]>
Date: Wed, 21 Apr 2021 10:01:35 -0400

Good catch Timo, I think you're correct.

PR sent: https://github.com/quicwg/base-drafts/pull/4861

On Thu, Apr 8, 2021 at 4:15 AM Lars Eggert <[email-masked]> wrote:

> > I noticed in a simulation with a constant RTT that the smoothed_rtt
> value includes the ack_delay. It looks like my implementation follows the
> recovery draft. By looking closer, I believe I found a tiny error in the
> draft.
> >
> > "MUST NOT subtract the acknowledgment delay from the RTT sample if the
> resulting value is smaller than the min_rtt."
> >
> > The pseudo code in Section 5.3 and in the appendix use a smaller instead
> of an equal or smaller in the if statement.
> >