[quicwg/base-drafts] 4f1a6a: No RTT for non-retransmittable packets

ianswett <ianswett@users.noreply.github.com> Fri, 07 December 2018 02:43 UTC

Return-Path: <bounce+565321.40f-quic-issues=ietf.org@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 EB5E7130DCA for <quic-issues@ietfa.amsl.com>; Thu, 6 Dec 2018 18:43:28 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.361
X-Spam-Level:
X-Spam-Status: No, score=-3.361 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.46, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.com
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 OFr6-lw8qTQ0 for <quic-issues@ietfa.amsl.com>; Thu, 6 Dec 2018 18:43:23 -0800 (PST)
Received: from m69-169.mailgun.net (m69-169.mailgun.net [166.78.69.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EFDC112D4ED for <quic-issues@ietf.org>; Thu, 6 Dec 2018 18:43:14 -0800 (PST)
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=github.com; q=dns/txt; s=mailo; t=1544150593; h=Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Message-ID: To: Reply-To: From: Date: Sender; bh=YT2v66S0i7VtVZ31vVsMZBql+nz8E4/9pQBylVJWFto=; b=ZyxKFinsZ+wSL7dDGV9+uTMmqJKyGaMz6HQqskHRlSKn8tc8sJb8B7gdKoViJHp3GaMMpRpM bKIuVW1iTf6DFCkjBJ4D6ZXPnHJrWqgMu6WVNj+v5O1jEY3AVnTDa/OkngvIANTrOhg4TaiS 2k7yUVXDFGeMg9A7pXNNpr8l/2w=
X-Mailgun-Sending-Ip: 166.78.69.169
X-Mailgun-Sid: WyJhNzYyYiIsICJxdWljLWlzc3Vlc0BpZXRmLm9yZyIsICI0MGYiXQ==
Sender: ianswett=users.noreply.github.com@github.com
Received: from github.com (Unknown [192.30.252.39]) by mxa.mailgun.org with ESMTP id 5c09de41.7f80ffb74ba0-smtp-out-n03; Fri, 07 Dec 2018 02:43:13 -0000 (UTC)
Date: Thu, 06 Dec 2018 18:43:12 -0800
From: ianswett <ianswett@users.noreply.github.com>
Reply-To: ianswett <ianswett@users.noreply.github.com>
To: quic-issues@ietf.org
Message-ID: <5c09de40ce145_6ed82b24515f05783848@hookshot-fe-dfcc362.cp1-iad.github.net.mail>
Subject: [quicwg/base-drafts] 4f1a6a: No RTT for non-retransmittable packets
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="--==_mimepart_5c09de40cda51_6ed82b24515f057838314"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/UNj8eX7Wf999m1rvmX2ynszgSxs>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
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: Fri, 07 Dec 2018 02:43:29 -0000

  Branch: refs/heads/ianswett-limit-ack-delay
  Home:   https://github.com/quicwg/base-drafts
  Commit: 4f1a6a94951835edc67cd1f9c350fa7d635ae4e7
      https://github.com/quicwg/base-drafts/commit/4f1a6a94951835edc67cd1f9c350fa7d635ae4e7
  Author: ianswett <ianswett@users.noreply.github.com>
  Date:   2018-11-30 (Fri, 30 Nov 2018)

  Changed paths:
    M draft-ietf-quic-recovery.md

  Log Message:
  -----------
  No RTT for non-retransmittable packets

Only take RTT samples when the largest acked is a retransmittable packet.  Otherwise, the ack delay may be unlimited.


  Commit: 74a4a454a5bb18761b2e0ed67352f2c7dce22641
      https://github.com/quicwg/base-drafts/commit/74a4a454a5bb18761b2e0ed67352f2c7dce22641
  Author: ianswett <ianswett@users.noreply.github.com>
  Date:   2018-11-30 (Fri, 30 Nov 2018)

  Changed paths:
    M draft-ietf-quic-recovery.md

  Log Message:
  -----------
  Update draft-ietf-quic-recovery.md


  Commit: c3c6c45cbc77d99a0551124d7e16b63e91d8bc2b
      https://github.com/quicwg/base-drafts/commit/c3c6c45cbc77d99a0551124d7e16b63e91d8bc2b
  Author: ianswett <ianswett@users.noreply.github.com>
  Date:   2018-12-05 (Wed, 05 Dec 2018)

  Changed paths:
    M draft-ietf-quic-recovery.md

  Log Message:
  -----------
  Update draft-ietf-quic-recovery.md

Jana's suggestion


  Commit: 410f67919d51822dd5f066dcb637c72386adf0b5
      https://github.com/quicwg/base-drafts/commit/410f67919d51822dd5f066dcb637c72386adf0b5
  Author: Ryan Hamilton <rch@google.com>
  Date:   2018-12-05 (Wed, 05 Dec 2018)

  Changed paths:
    M draft-ietf-quic-http.md

  Log Message:
  -----------
  Allow the HTTP/3 DATA frame to extend to the end of the stream (#2098)

* Allow the HTTP/3 DATA frame to extend to the end of the stream

Allow the HTTP/3 DATA frame to extend to the end of the stream if the
frame's payload length is 0.

Fixes #1885

* Remove the "DATA frames MUST contain a non-zero-length payload" restriction.


  Commit: 09d19c6166af72632cfc413160c66a4e4278f59e
      https://github.com/quicwg/base-drafts/commit/09d19c6166af72632cfc413160c66a4e4278f59e
  Author: janaiyengar <jri.ietf@gmail.com>
  Date:   2018-12-05 (Wed, 05 Dec 2018)

  Changed paths:
    M draft-ietf-quic-recovery.md

  Log Message:
  -----------
  Merge pull request #2078 from quicwg/ianswett-no-rtt

No RTT for non-retransmittable packets


  Commit: 587f8a5b72824b73b0543a33841a6437ceb0b981
      https://github.com/quicwg/base-drafts/commit/587f8a5b72824b73b0543a33841a6437ceb0b981
  Author: Martin Thomson <martin.thomson@gmail.com>
  Date:   2018-12-05 (Wed, 05 Dec 2018)

  Changed paths:
    M draft-ietf-quic-recovery.md

  Log Message:
  -----------
  Refactor DetectLostPackets

This had a couple of problems that I think this addresses, and some that
it doesn't.

The first is that it isn't clear what is being iterated over and in what
order.  I think that the point here is to iterate over sent_packets,
starting with the oldest.  Correct me if that is wrong.  In any case,
this change doesn't assume an iteration order.  The only reason the
iteration order is important is in setting loss_time, which needs to be
the earliest time (assuming that I'm right).

This simplifies the function, by setting thresholds at the top and doing
a simple comparison.

I've added a note about loss_time potentially being in the past.

The problem that remains is that this appeared to iterate only over
packets that have a packet number less than the largest acknowledged.
I've added that condition to the loop, but I don't think that it's
right.  I think that it's just redundant - and while an implementation
might stop its iteration at the largest acknowledged to save cycles,
this function will operate the same without the extra check.

It's also not clear whether the greater than comparisons here were
correct.  If you assume that firing of the timer cannot take zero time,
this is never an issue, but with discrete intervals on time values,
that's not always going to happen.  As setup, this code could be called
at exactly loss_time for a packet, in which case that packet will not be
declared lost.  I think that this wants >= in the time comparison for
that reason.

Finally, should the early retransmit timer be configurable?  Should it
be set based on kTimeReorderingThreshold?


  Commit: 29f5fdf72186f71d0d34d487dac8b18a30584e13
      https://github.com/quicwg/base-drafts/commit/29f5fdf72186f71d0d34d487dac8b18a30584e13
  Author: Martin Thomson <martin.thomson@gmail.com>
  Date:   2018-12-05 (Wed, 05 Dec 2018)

  Changed paths:
    M draft-ietf-quic-recovery.md

  Log Message:
  -----------
  Review changes


  Commit: db6929a33d31de152198f6560aad31a0ed53f359
      https://github.com/quicwg/base-drafts/commit/db6929a33d31de152198f6560aad31a0ed53f359
  Author: Martin Thomson <martin.thomson@gmail.com>
  Date:   2018-12-05 (Wed, 05 Dec 2018)

  Changed paths:
    M draft-ietf-quic-recovery.md

  Log Message:
  -----------
  Use <= for cutoffs


  Commit: 02a164ee1e8e208e414896124c15c627f79dcea8
      https://github.com/quicwg/base-drafts/commit/02a164ee1e8e208e414896124c15c627f79dcea8
  Author: Jana Iyengar <jri.ietf@gmail.com>
  Date:   2018-12-05 (Wed, 05 Dec 2018)

  Changed paths:
    M draft-ietf-quic-recovery.md

  Log Message:
  -----------
  Fixes some broken bits


  Commit: 71e06d391739652c1ed965873f530bb496f8aecd
      https://github.com/quicwg/base-drafts/commit/71e06d391739652c1ed965873f530bb496f8aecd
  Author: Jana Iyengar <jri.ietf@gmail.com>
  Date:   2018-12-05 (Wed, 05 Dec 2018)

  Changed paths:
    M draft-ietf-quic-recovery.md

  Log Message:
  -----------
  lint


  Commit: cdaef0e2036dc9da2c972a9ec0d2c795559c3206
      https://github.com/quicwg/base-drafts/commit/cdaef0e2036dc9da2c972a9ec0d2c795559c3206
  Author: Jana Iyengar <jri.ietf@gmail.com>
  Date:   2018-12-05 (Wed, 05 Dec 2018)

  Changed paths:
    M draft-ietf-quic-recovery.md

  Log Message:
  -----------
  cleanup and consistent parens


  Commit: 1bc6191ec6819eb291b338bdea7823f6d057bc01
      https://github.com/quicwg/base-drafts/commit/1bc6191ec6819eb291b338bdea7823f6d057bc01
  Author: Mike Bishop <mbishop@evequefou.be>
  Date:   2018-12-06 (Thu, 06 Dec 2018)

  Changed paths:
    M draft-ietf-quic-http.md

  Log Message:
  -----------
  Define initial PRIORITY frame and remove exclusive dependencies (#2075)

* INITIAL_PRIORITY

* Re-merge INITIAL_PRIORITY and PRIORITY, per Kazuho and Lucas

* Rework error layout

* More error shuffling

* Limit references to existing elements

* Explicitly prohibit invalid PET values


  Commit: e50cf51845fdfb8357e974bdc2ad4134d3829663
      https://github.com/quicwg/base-drafts/commit/e50cf51845fdfb8357e974bdc2ad4134d3829663
  Author: ianswett <ianswett@users.noreply.github.com>
  Date:   2018-12-06 (Thu, 06 Dec 2018)

  Changed paths:
    M draft-ietf-quic-recovery.md

  Log Message:
  -----------
  Update draft-ietf-quic-recovery.md

Move and update Martin's comments


  Commit: f29543ca5d015c8bf3f6ff0d905892bbf87562e2
      https://github.com/quicwg/base-drafts/commit/f29543ca5d015c8bf3f6ff0d905892bbf87562e2
  Author: janaiyengar <jri.ietf@gmail.com>
  Date:   2018-12-06 (Thu, 06 Dec 2018)

  Changed paths:
    M draft-ietf-quic-recovery.md

  Log Message:
  -----------
  Merge pull request #2066 from quicwg/refactor-loss_time

Refactor DetectLostPackets


  Commit: 98d6b94c4102fe1cd431d1d8e13e23e3ff50d8a5
      https://github.com/quicwg/base-drafts/commit/98d6b94c4102fe1cd431d1d8e13e23e3ff50d8a5
  Author: janaiyengar <jri.ietf@gmail.com>
  Date:   2018-12-06 (Thu, 06 Dec 2018)

  Changed paths:
    M draft-ietf-quic-recovery.md

  Log Message:
  -----------
  Ack eliciting (#2105)


  Commit: 02fddcec25254e25c77da958473ea3892b7a8912
      https://github.com/quicwg/base-drafts/commit/02fddcec25254e25c77da958473ea3892b7a8912
  Author: ianswett <ianswett@users.noreply.github.com>
  Date:   2018-12-06 (Thu, 06 Dec 2018)

  Changed paths:
    M draft-ietf-quic-http.md
    M draft-ietf-quic-recovery.md

  Log Message:
  -----------
  Merge branch 'master' into ianswett-limit-ack-delay


Compare: https://github.com/quicwg/base-drafts/compare/95e654775e91...02fddcec2525
      **NOTE:** This service has been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.