Re: [quicwg/base-drafts] Consider making h3 frame types varint (#2253)

Kazuho Oku <notifications@github.com> Mon, 24 December 2018 22:20 UTC

Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4663612896A for <quic-issues@ietfa.amsl.com>; Mon, 24 Dec 2018 14:20:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.064
X-Spam-Level:
X-Spam-Status: No, score=-8.064 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.065, 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, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id IuNGGtJlaXK0 for <quic-issues@ietfa.amsl.com>; Mon, 24 Dec 2018 14:20:50 -0800 (PST)
Received: from out-4.smtp.github.com (out-4.smtp.github.com [192.30.252.195]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 82B361277BB for <quic-issues@ietf.org>; Mon, 24 Dec 2018 14:20:50 -0800 (PST)
Date: Mon, 24 Dec 2018 14:20:49 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1545690049; bh=xINXEDv79R0JZsTwofEvsLzW/VfSzR2diaPn0HEUVHE=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=m9i2jNtXF+ZN3wTVDjzsr6cc/gP5JZ+BHpCEx2dR31v2okjVjO9YZa6Pnmn+fQu9Y 2Xx0YJBTfDq/I9JNffdxdNvaCMGQYLt++TIBDezraa/79VCjQbKloNKs2upOUFQjQn HIr5JXILKQ30te855COWfU8JIhYyx0sGiqpaJKxg=
From: Kazuho Oku <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab57c76ff16124d616a3f6686706384464814fa45b92cf0000000118391dc192a169ce17792cde@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/2253/449774738@github.com>
In-Reply-To: <quicwg/base-drafts/issues/2253@github.com>
References: <quicwg/base-drafts/issues/2253@github.com>
Subject: Re: [quicwg/base-drafts] Consider making h3 frame types varint (#2253)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5c215bc149a12_382e3fd308cd45b87836c8"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: kazuho
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/egcJtt6TDEgsK3yGoS57OWvjTig>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 24 Dec 2018 22:20:52 -0000

@DavidSchinazi 
> The added ability to perform experiments without coordination is worth the addition of a 5-line inline function.

IMO, the endpoints willing to do experiments should spend their 5-line worth of coding effort to negotiate the experiment, rather than asking every implementation to accept the complexity.

As suggested in the last paragraph of [HTTP/3 section 7](
https://quicwg.org/base-drafts/draft-ietf-quic-http.html#rfc.section.7), endpoints that are willing to do an experiment can exchange their own SETTINGS value to confirm that the peer supports the experiment, then use any of the unused 8-bit frame types for the experiment.

The benefits of the approach are:
* does not introduce the need to deal with varint types
* less network overhead in experiments (due to being able to use 8-bit types)
* less chance of the experiment becoming a de-facto standard

The last argument is based on the fact that the experiments use negotiation. The fear of doing experiments is that sometimes the code point used for the experiment gets ossified; you cannot decide when to stop sending the extensions. Negotiating the use is one way to mitigate the problem, because with negotiation you can observe if the extension is actually used by the peer.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/2253#issuecomment-449774738