Re: [quicwg/base-drafts] Replace the RequireInsertCount decoding algorithm (#2379)

Martin Thomson <notifications@github.com> Tue, 29 January 2019 00:15 UTC

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 504F9126C7E for <quic-issues@ietfa.amsl.com>; Mon, 28 Jan 2019 16:15:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -12.552
X-Spam-Level:
X-Spam-Status: No, score=-12.552 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-4.553, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_IMAGE_ONLY_32=0.001, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, 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 XttlLjR6fT7Q for <quic-issues@ietfa.amsl.com>; Mon, 28 Jan 2019 16:15:29 -0800 (PST)
Received: from out-2.smtp.github.com (out-2.smtp.github.com [192.30.252.193]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0758F1274D0 for <quic-issues@ietf.org>; Mon, 28 Jan 2019 16:15:29 -0800 (PST)
Date: Mon, 28 Jan 2019 16:15:27 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1548720927; bh=75BL/pwexAMFKOjZnfj1T+Oy2WxPsWJNBct0N60aMzo=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=y1H2YOPfbBfzS8SvySw7nFFyFMeSnl+4wKBleJ/wTpR2G4w/npRHccoVOgOSmXp36 9QZK1c/wMjVzsdQO6DE92dpcI0WbJpeoGjhK0qhcswmX8kGW3YOjBsd7S8pT11u1Lr eDPg28+gNFxkRyziIp1dC/pqx9oaL3YXaveCNYJc=
From: Martin Thomson <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab8cd5787e6978895204aa5543675729756a8c2c2c92cf0000000118675d1f92a169ce180fea0e@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/2379/review/197324242@github.com>
In-Reply-To: <quicwg/base-drafts/pull/2379@github.com>
References: <quicwg/base-drafts/pull/2379@github.com>
Subject: Re: [quicwg/base-drafts] Replace the RequireInsertCount decoding algorithm (#2379)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5c4f9b1fafbb7_51a43fe65a0d45b4476515"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: martinthomson
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/e9FpGh1jwSpneUVjC8aHtL28yBg>
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: Tue, 29 Jan 2019 00:15:31 -0000

martinthomson commented on this pull request.



> -
-      if CurrentWrapped >= InsertCount + MaxEntries:
-         # Insert Count wrapped around 1 extra time
-         ReqInsertCount += 2 * MaxEntries
-      else if CurrentWrapped + MaxEntries < InsertCount:
-         # Decoder wrapped around 1 extra time
-         CurrentWrapped += 2 * MaxEntries
-
-      ReqInsertCount += TotalNumberOfInserts - CurrentWrapped
+      MaxValue = TotalNumberOfInserts + MaxEntries
+      # MaxWrapped is the largest possible value of
+      # ReqInsertCount that is 0 mod 2*MaxEntries
+      MaxWrapped = floor(MaxValue / FullRange) * FullRange
+      ReqInsertCount = MaxWrapped + EncodedInsertCount - 1
+      if ReqInsertCount > MaxValue:
+         # The Encoder's value wrapped one fewer time

This comment looks like it is attached to the next if statement rather than being an explanation of what the outer if statement is.  Maybe move it above the first if and say "# If this exceeds the maximum possible value, the encoder must have wrapped one fewer time" or something along those lines.

-- 
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/pull/2379#pullrequestreview-197324242