Re: [quicwg/base-drafts] Limit RCID state (#3547)

Martin Thomson <> Sun, 10 May 2020 23:40 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id C0FFE3A0B9B for <>; Sun, 10 May 2020 16:40:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.697
X-Spam-Status: No, score=-1.697 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_28=1.404, 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 McYXnAujONoy for <>; Sun, 10 May 2020 16:39:59 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 329623A0B4C for <>; Sun, 10 May 2020 16:39:58 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 2986D520062 for <>; Sun, 10 May 2020 16:39:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1589153998; bh=sKKIp0lZXTVMfGUBbVgeai+/djHpqNYP7nBYMh8K9oU=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=NA8RvPFjDu86MOavYLv3Ph/ptbeputTnlrrX4NavvhAHSKKNZrg3CKIU+DkrjyVQg eok3irYkch2+sbOBWeSEoBRMArdb5PN6DkwNp2qrgbHN+mdJDZog3lZYcpBkRbC6KQ hw6BJYVKDQn1tsVbufMLeY0FVw7bPOAofwGPqjyE=
Date: Sun, 10 May 2020 16:39:58 -0700
From: Martin Thomson <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/pull/3547/review/>
In-Reply-To: <quicwg/base-drafts/pull/>
References: <quicwg/base-drafts/pull/>
Subject: Re: [quicwg/base-drafts] Limit RCID state (#3547)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5eb890ce197ee_56da3fea4facd96444046b"; 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: Sun, 10 May 2020 23:40:02 -0000

@martinthomson commented on this pull request.

> +An endpoint SHOULD limit the state it commits to retiring connection IDs using
+RETIRE_CONNECTION_ID by limiting the number of connection IDs that it tracks for
+retirement to at least twice the active_connection_id_limit. An endpoint MUST

Yes, I think that this is a clearer formulation.  I've taken this and rewritten to:

> An endpoint SHOULD limit the state it commits to retiring connection IDs.  An endpoint SHOULD allow for sending and tracking a number of RETIRE_CONNECTION_ID frames of at least twice the active_connection_id_limit.

These are both recommendations only.  There are reasons why you might not care for these limits.

The 2x is to allow for a combination of you deciding to retire all active connection IDs and the peer asking you to retire all active connection IDs.  If you allow for that much, you will never encounter a situation where the combination of both peers asking for retirement will cause RETIRE_CONNECTION_ID to be dropped or delayed.

That said, this works if you only track 1 RETIRE_CONNECTION_ID at a time, it just might be slow.

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