Re: [quicwg/base-drafts] Required state for retaining unacked RETIRE_CONNECTION_ID frames is unbound (#3509)

Martin Thomson <> Tue, 24 March 2020 22:36 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 80EA73A07AB for <>; Tue, 24 Mar 2020 15:36:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.554
X-Spam-Status: No, score=-1.554 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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_20=1.546, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, 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 vwZCTyFoOTMC for <>; Tue, 24 Mar 2020 15:36:43 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id CD3993A053E for <>; Tue, 24 Mar 2020 15:36:42 -0700 (PDT)
Date: Tue, 24 Mar 2020 15:36:41 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1585089401; bh=T3nFfdebkErTR/FLhFrJvkndjlkuWHQLmSeyxNkKN6M=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=w+aCQZHCSQ3/UtvHIGv+fbFRP2YNZ08MXJefJxGplkJ3zxE5AAq/NlU9wHPtzohqD Nw9JkENbC5nlq3mXjSXrAUVvJTlukhqPSICrS8eF+0MJy32jrZB0L3nTN8n2MxCH3x XPLhc8tgTWoUwyjs4LSQBvuLclKjzE0nrX2RFin4=
From: Martin Thomson <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/issues/3509/>
In-Reply-To: <quicwg/base-drafts/issues/>
References: <quicwg/base-drafts/issues/>
Subject: Re: [quicwg/base-drafts] Required state for retaining unacked RETIRE_CONNECTION_ID frames is unbound (#3509)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5e7a8b79c0004_27063fb4e14cd96812184d"; 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
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: Tue, 24 Mar 2020 22:37:03 -0000

So the bounds on this aren't that terrible.  Say you had to retire 1000 connection IDs all at once.  You could track each one individually as you send RETIRE_CONNECTION_ID.  That's 1000 things to track, which might be more state than you want (it's not 1000 bits because you need to maintain relationships with packet numbers).

Or you could just keep `CID[smallest unacknowledged retire frame] - CID[largest acknowledged retire frame]` strictly limited, no matter how many connection IDs you need to retire.  Tracking that, plus what you have been requested to retire should bound the state required to implement retirement.

In other words, you do control how much state you commit to retirement, just like everything else.

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