Re: [quicwg/base-drafts] Persistent congestion pseudocode to match text (#4010)

Kazu Yamamoto <> Mon, 24 August 2020 05:27 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 793D03A0A3A for <>; Sun, 23 Aug 2020 22:27:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -0.475
X-Spam-Status: No, score=-0.475 tagged_above=-999 required=5 tests=[DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_IMAGE_ONLY_28=0.726, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id E7zFIeoN_5Ut for <>; Sun, 23 Aug 2020 22:27:49 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 389623A0A38 for <>; Sun, 23 Aug 2020 22:27:49 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 4E22BE1E2B for <>; Sun, 23 Aug 2020 22:27:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1598246868; bh=V301NtIK3a7ne/6/tqR14B0vB+djpzPoqJDxv1S0Oy8=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=e5y+b4A+kK8tOHgb1Yo+w+oD6J8ETe9HijkgMVhvwAoLTz0xtLhC5eD9bJ+z86Kg8 m/kTNeaiImo+INCqUaVM33zILkD69twE0qAoCmCu7ZMukHop3A9yP8DrnPrffTMiEG MRVydeXbVAm53D/S+K6V70wHVU6AfN/j8bFGEQaA=
Date: Sun, 23 Aug 2020 22:27:48 -0700
From: Kazu Yamamoto <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/pull/4010/>
In-Reply-To: <quicwg/base-drafts/pull/>
References: <quicwg/base-drafts/pull/>
Subject: Re: [quicwg/base-drafts] Persistent congestion pseudocode to match text (#4010)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5f434fd43dd85_452a19642028b6"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: kazu-yamamoto
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
Archived-At: <>
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 24 Aug 2020 05:27:50 -0000

> Regarding the global sequence space, I figure that you can do this without a global sequence number in other ways. For instance, you could track the sending time of all outstanding packets or you could enter all outstanding packets into a linked list, either of which allows you to establish a total ordering. 

Yes. I think that this is what @kazuho explains in

(It seems to me that this assumes entries can be *marked* to detect *contiguity*. But it is very hard to implement marking in Haskell. Marking is a destructive operation which is not allowed in purely functional data structure.)

What I pointed out is that there is no such data structure in the current pseudocode. (`sent_packets` is separated into three.) Probably, *global* sequence number is one of the easiest approaches.

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub: