Re: [quicwg/base-drafts] Extension frames (#1068)
Christian Huitema <notifications@github.com> Wed, 04 April 2018 19:15 UTC
Return-Path: <bounces+848413-a050-quic-issues=ietf.org@sgmail.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 EF14C12E886 for <quic-issues@ietfa.amsl.com>; Wed, 4 Apr 2018 12:15:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.01
X-Spam-Level:
X-Spam-Status: No, score=-2.01 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 2lzV9jQVdyMa for <quic-issues@ietfa.amsl.com>; Wed, 4 Apr 2018 12:15:02 -0700 (PDT)
Received: from o8.sgmail.github.com (o8.sgmail.github.com [167.89.101.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B4F2F1200B9 for <quic-issues@ietf.org>; Wed, 4 Apr 2018 12:15:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=github.com; h=from:reply-to:to:cc:in-reply-to:references:subject:mime-version:content-type:content-transfer-encoding:list-id:list-archive:list-post:list-unsubscribe; s=s20150108; bh=uZsIoiGCy8OfL2jTL486lU/dl50=; b=pBp+TsToCrC5Kh6C a3n9rHv/u0eDh8L0gqRivM44vrzwmfH98iewRBAgVdTGo+OAJs3YhPJrfK4K+fnh U/trf5CwQXBpJXBwISoHmhga9bK+aWaHVsE1PtKTOkQhXTkDpH77R6ourLQYJqy9 GOXoZZUoARHvlB4Q8xyL+1rTVkg=
Received: by filter0247p1iad2.sendgrid.net with SMTP id filter0247p1iad2-12027-5AC52434-20 2018-04-04 19:15:00.714644489 +0000 UTC
Received: from smtp.github.com (out-5.smtp.github.com [192.30.252.196]) by ismtpd0010p1iad2.sendgrid.net (SG) with ESMTP id _CXrE5wCQXeOUSrtgAnjZg for <quic-issues@ietf.org>; Wed, 04 Apr 2018 19:15:00.728 +0000 (UTC)
Date: Wed, 04 Apr 2018 19:15:00 +0000
From: Christian Huitema <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab0a0e63ee3dd7e28846558dd5d709885daf1f2f4692cf0000000116dce63492a169ce115ea54e@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/1068/c378713814@github.com>
In-Reply-To: <quicwg/base-drafts/pull/1068@github.com>
References: <quicwg/base-drafts/pull/1068@github.com>
Subject: Re: [quicwg/base-drafts] Extension frames (#1068)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5ac524349c05b_176103fcd69f1af382277a5"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: huitema
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
X-SG-EID: l64QuQ2uJCcEyUykJbxN122A6QRmEpucztpreh3Pak2Uafl9rLHgd/VmpPV5da/Hc7YT9QLIZxdSX+ OCoa2iSq+aizocf+q5eHMQRABqxM5eahtY/68H3CJIx0WiwV/Jl8XcI6HzbleTiojNdMRepZt4YIBd lXn0nrpSC6rYc1PaBjGMe22eIz1SYOrRuL7difS8w8ozJ+fIN7PqZN2JcRaO4+UXHaWrEGOu8Cinl5 Q=
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/afDTCKwM4ANB-ClrCRZzrZuZkyo>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.22
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: Wed, 04 Apr 2018 19:15:06 -0000
Now that I read EKR's comment, I believe he might be correct. Or maybe not. Defining the frame type as a varint would remove the need for dynamic mapping. On the other hand, there will still be a need for a negotiation, to check whether the option is actually supported by the peer. The implementation in C would be: 1) With the current mapping definition, use a table of function pointers to map the extension frame type to the type specific coding/processing functions. The mapping table is filled up when processing the TP parameter. Unused values point to some error code. 2) With the varint coding of frame type, add some tests for varint decoding. Use switch statements with fixed values to point to the implementation-supported extensions. Use a table of booleans to indicate which implementation-supported extensions are valid for the connection. The boolean table is filled up when processing the TP parameter. Unsupported values and non negotiated values point to some error code. This seems pretty similar in term of complexity. I am not enthusiastic about varint decoding of frame types, and I think if would only be needed if some application required more that 128 extension frames simultaneously for a given connection. All things considered, I like the currently proposed design. -- 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/pull/1068#issuecomment-378713814
- Re: [quicwg/base-drafts] Extension frames (#1068) Martin Thomson
- Re: [quicwg/base-drafts] Add EXTENSION frame (#10… Martin Thomson
- [quicwg/base-drafts] Add EXTENSION frame (#1068) Martin Thomson
- Re: [quicwg/base-drafts] Add EXTENSION frame (#10… janaiyengar
- Re: [quicwg/base-drafts] Add EXTENSION frame (#10… martinduke
- Re: [quicwg/base-drafts] Add EXTENSION frame (#10… Christian Huitema
- Re: [quicwg/base-drafts] Add EXTENSION frame (#10… Christian Huitema
- Re: [quicwg/base-drafts] Add EXTENSION frame (#10… janaiyengar
- Re: [quicwg/base-drafts] Add EXTENSION frame (#10… Christian Huitema
- Re: [quicwg/base-drafts] Add EXTENSION frame (#10… mirjak
- Re: [quicwg/base-drafts] Add EXTENSION frame (#10… MikkelFJ
- Re: [quicwg/base-drafts] Add EXTENSION frame (#10… Martin Thomson
- Re: [quicwg/base-drafts] Extension frames (#1068) Dmitri Tikhonov
- Re: [quicwg/base-drafts] Extension frames (#1068) ekr
- Re: [quicwg/base-drafts] Extension frames (#1068) Kazuho Oku
- Re: [quicwg/base-drafts] Extension frames (#1068) Christian Huitema
- Re: [quicwg/base-drafts] Extension frames (#1068) Martin Thomson
- Re: [quicwg/base-drafts] Extension frames (#1068) Martin Thomson
- Re: [quicwg/base-drafts] Extension frames (#1068) ekr
- Re: [quicwg/base-drafts] Extension frames (#1068) Rui Paulo
- Re: [quicwg/base-drafts] Extension frames (#1068) Mike Bishop
- Re: [quicwg/base-drafts] Extension frames (#1068) Mike Bishop
- Re: [quicwg/base-drafts] Extension frames (#1068) Martin Thomson
- Re: [quicwg/base-drafts] Extension frames (#1068) Martin Thomson
- Re: [quicwg/base-drafts] Extension frames (#1068) Martin Thomson
- Re: [quicwg/base-drafts] Extension frames (#1068) Rui Paulo
- Re: [quicwg/base-drafts] Extension frames (#1068) Martin Thomson
- Re: [quicwg/base-drafts] Extension frames (#1068) Kazuho Oku
- Re: [quicwg/base-drafts] Extension frames (#1068) Martin Thomson
- Re: [quicwg/base-drafts] Extension frames (#1068) ekr
- Re: [quicwg/base-drafts] Extension frames (#1068) Martin Thomson
- Re: [quicwg/base-drafts] Extension frames (#1068) Kazuho Oku
- Re: [quicwg/base-drafts] Extension frames (#1068) MikkelFJ
- Re: [quicwg/base-drafts] Extension frames (#1068) Kazuho Oku
- Re: [quicwg/base-drafts] Extension frames (#1068) ekr
- Re: [quicwg/base-drafts] Extension frames (#1068) Martin Thomson