Re: [quicwg/base-drafts] PRIORITY frame on control stream referencing unopened request stream (#2502)

Mike Bishop <> Tue, 07 May 2019 18:53 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id A48DB120271 for <>; Tue, 7 May 2019 11:53:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -6.464
X-Spam-Status: No, score=-6.464 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_IMAGE_ONLY_20=1.546, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01] 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 m2hAfD0NVxYl for <>; Tue, 7 May 2019 11:53:06 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 07887120272 for <>; Tue, 7 May 2019 11:53:06 -0700 (PDT)
Date: Tue, 07 May 2019 11:53:04 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1557255184; bh=WDZW3gJ4q8FFRDaJNxxPHE590ndrWPI0pfSq7778uro=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=BqzHzS0hBRb0cbJ/C4lwuDaLFktONPaoVSMuQU5tOraFHMud85IyW308sEGNRAh7I dtLx0/WMj8oY4kHYHroEqxf8IaosKVxkIsqstr70H9UAVEHzc9M4XbUw9s/osl5iD2 U2SPd53ojkf4+dKFKn0BLuP7eDTdmUrXCwjlLVIc=
From: Mike Bishop <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/issues/2502/>
In-Reply-To: <quicwg/base-drafts/issues/>
References: <quicwg/base-drafts/issues/>
Subject: Re: [quicwg/base-drafts] PRIORITY frame on control stream referencing unopened request stream (#2502)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5cd1d4106ef30_72653fc6c10cd95c1625e1"; charset=UTF-8
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: MikeBishop
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, 07 May 2019 18:53:11 -0000

I don't think simple buffering is sufficient.  You would have to not only buffer the frame that updates the priority of a not-yet-created stream, but also frames that create dependencies on that stream, and frames that create dependencies on streams that would be under that tree if you weren't already buffering the frames that create the tree.  That can be done, but it's not straightforward.

A simpler alternative is, potentially, to stop processing PRIORITY frames (which effectively means not processing the control stream) until the indicated stream has arrived.  Not great, but PRIORITY frames are most of what will be on that stream and we've already said they need to be processed in order.

I don't feel like there's a good solution to this and I'm supportive of exploring alternative priority mechanisms, but I'm not sure that needs to land in the core H3 spec.

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