Re: [quicwg/base-drafts] PUSH_ID as a frame (#2526)

Luca Niccolini <> Mon, 18 March 2019 19:35 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 987EE1289FA for <>; Mon, 18 Mar 2019 12:35:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -8.001
X-Spam-Status: No, score=-8.001 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, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, 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 ZAYZj0ROTh-N for <>; Mon, 18 Mar 2019 12:35:50 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 95E2E12795E for <>; Mon, 18 Mar 2019 12:35:50 -0700 (PDT)
Date: Mon, 18 Mar 2019 12:35:49 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1552937749; bh=SOLJrJQOyJFp+4rWcYYJnmyav22x7hyWu1E7aVLmSsk=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=L9sXvW0zAyzaG5zu/NKQI43AuB5cGomcxB9EAQX2oOZleoVj94rQ72d8bhXMgzTWb B17/c5YApmbNlIk58Gth1cR/mQM3+Y5ldLg4m/zHv62VLuE2ozlhhOMxFIZiISwDap OErDpxbx77Tedkz2qdfn23vZmOJsFj+PWvMV4b20=
From: Luca Niccolini <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/issues/2526/>
In-Reply-To: <quicwg/base-drafts/issues/>
References: <quicwg/base-drafts/issues/>
Subject: Re: [quicwg/base-drafts] PUSH_ID as a frame (#2526)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5c8ff31590973_58273fc355cd45bc858d4"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: lnicco
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, 18 Mar 2019 19:35:53 -0000

It was just an example. And as I said I don't feel strongly about the error handling nit. 
But if you must, yes if you assume headers is the first frame after the push_id then yes you would read 0x1 which is conveniently a server initiated bidirectional stream which is not allowed anyway, so you could reject it immediately. But I find this just fortuitous. 

For example, one could make a counter argument: why are we framing SETTINGS at all given that it is the first message on the control stream ? 
We also defined it quite clearly in this table what to do with it [Certain frames can only occur as the first frame of a particular stream type; these are indicated in Table 1 with a (1).]
Is there zero value in doing that for the PUSH_ID as well? 
I personally think there is.

Anyway, I think we are diverting this the wrong route. 
All I am looking for here is a good explanation for why it is defined like it is now, and I am failing to find it. 
As far as the implementation goes it makes little difference, and I guess it is more of a consistency problem for me. That naked varint on the wire triggers my OCD :) 

So instead of going back and forth like this, perhaps @MikeBishop can shed some light on the good reasons why it is this way.

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