Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1])
 by ietfa.amsl.com (Postfix) with ESMTP id 8ABB5120099
 for <quic-issues@ietfa.amsl.com>; Wed, 17 Jul 2019 14:03:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.494
X-Spam-Level: 
X-Spam-Status: No, score=-6.494 tagged_above=-999 required=5
 tests=[BAYES_00=-1.9, FROM_EXCESS_BASE64=0.001,
 HTML_IMAGE_ONLY_28=1.404, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1,
 RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001]
 autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44])
 by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id eQILydDRDymS for <quic-issues@ietfa.amsl.com>;
 Wed, 17 Jul 2019 14:03:38 -0700 (PDT)
Received: from out-6.smtp.github.com (out-6.smtp.github.com [192.30.252.197])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by ietfa.amsl.com (Postfix) with ESMTPS id 9D228120086
 for <quic-issues@ietf.org>; Wed, 17 Jul 2019 14:03:38 -0700 (PDT)
Received: from github-lowworker-2ef7ba1.ac4-iad.github.net
 (github-lowworker-2ef7ba1.ac4-iad.github.net [10.52.16.66])
 by smtp.github.com (Postfix) with ESMTP id EC41B1C0E2A
 for <quic-issues@ietf.org>; Wed, 17 Jul 2019 14:03:37 -0700 (PDT)
Date: Wed, 17 Jul 2019 14:03:37 -0700
From: =?UTF-8?B?SmVyZW15IExhaW7DqQ==?= <notifications@github.com>
Reply-To: quicwg/base-drafts
 <reply+AFTOJK4OPI2TZHWM3SPWGB53HS72TEVBNHHBX6ZH2U@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/2906@github.com>
Subject: [quicwg/base-drafts] Pseudo-code for SetLossDetectionTimer looks odd
 (#2906)
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_5d2f8d29dca3c_25453f89d6ecd96c23643d";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: jlaine
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/M2tK_2Fs-E2MoPFJFS6Cp5EYuFo>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG
 <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>,
 <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>,
 <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 17 Jul 2019 21:03:41 -0000


----==_mimepart_5d2f8d29dca3c_25453f89d6ecd96c23643d
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit

The pseudo-code for `SetLossDetectionTimer` contains the following:

```
  // Don't arm timer if there are no ack-eliciting packets
  // in flight and the handshake is complete.
  if (endpoint is client with 1-RTT keys &&
      no ack-eliciting packets in flight):
    loss_detection_timer.cancel()
    return
```

Unless I'm mistaken the first condition of the `if` doesn't match the comment. I don't think we should be re-arming the timer in the following conditions:

- server without 1-RTT keys and no ack-eliciting packets in flight
- server with 1-RTT keys and no ack-eliciting packets in flight

It's not beautiful but the `if` should probably be more like:

```
    if (no ack-eliciting packets in flight && (endpoint is server or has 1-RTT keys)):
```

Thoughts @ianswett ?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/2906
----==_mimepart_5d2f8d29dca3c_25453f89d6ecd96c23643d
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: 7bit

<p>The pseudo-code for <code>SetLossDetectionTimer</code> contains the following:</p>
<pre><code>  // Don't arm timer if there are no ack-eliciting packets
  // in flight and the handshake is complete.
  if (endpoint is client with 1-RTT keys &amp;&amp;
      no ack-eliciting packets in flight):
    loss_detection_timer.cancel()
    return
</code></pre>
<p>Unless I'm mistaken the first condition of the <code>if</code> doesn't match the comment. I don't think we should be re-arming the timer in the following conditions:</p>
<ul>
<li>server without 1-RTT keys and no ack-eliciting packets in flight</li>
<li>server with 1-RTT keys and no ack-eliciting packets in flight</li>
</ul>
<p>It's not beautiful but the <code>if</code> should probably be more like:</p>
<pre><code>    if (no ack-eliciting packets in flight &amp;&amp; (endpoint is server or has 1-RTT keys)):
</code></pre>
<p>Thoughts <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=20072817" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ianswett">@ianswett</a> ?</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">&mdash;<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/quicwg/base-drafts/issues/2906?email_source=notifications&amp;email_token=AFTOJKY6RIQM7DQ3VKPR4B3P76CKTA5CNFSM4IEUP7PKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4G73E7KQ">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AFTOJK3U2A3OUIDXWPZZ5TLP76CKTANCNFSM4IEUP7PA">mute the thread</a>.<img src="https://github.com/notifications/beacon/AFTOJK22GAYJK6TC6TFD7ULP76CKTA5CNFSM4IEUP7PKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4G73E7KQ.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/quicwg/base-drafts/issues/2906?email_source=notifications\u0026email_token=AFTOJKY6RIQM7DQ3VKPR4B3P76CKTA5CNFSM4IEUP7PKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4G73E7KQ",
"url": "https://github.com/quicwg/base-drafts/issues/2906?email_source=notifications\u0026email_token=AFTOJKY6RIQM7DQ3VKPR4B3P76CKTA5CNFSM4IEUP7PKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4G73E7KQ",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>
----==_mimepart_5d2f8d29dca3c_25453f89d6ecd96c23643d--

