Re: [quicwg/base-drafts] Consider a new stream type to act like MAX_PUSH_ID (#2418)

Mike Bishop <notifications@github.com> Tue, 05 February 2019 21:37 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 A5D361312F7 for <quic-issues@ietfa.amsl.com>; Tue, 5 Feb 2019 13:37:50 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -12.553
X-Spam-Level:
X-Spam-Status: No, score=-12.553 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-4.553, 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: 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 vHYoZQU5Q9az for <quic-issues@ietfa.amsl.com>; Tue, 5 Feb 2019 13:37:48 -0800 (PST)
Received: from out-15.smtp.github.com (out-15.smtp.github.com [192.30.254.198]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 824AE1312F3 for <quic-issues@ietf.org>; Tue, 5 Feb 2019 13:37:48 -0800 (PST)
Date: Tue, 05 Feb 2019 13:37:47 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1549402667; bh=GRKwDnf2vEb9tmooQ7PTwymWhEym9kqX8id9D+KMDnw=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=HzigIjXX7NtL1NVRSqV3om95QqEjITpR9GAU791vP0GpLMCSf+W796iyp8O8GhXnC +zFscLAKwqnVV4EXBxq6nHDdOoTFdPrPuZKta6U1WNvrMjwooUuWqIO68odE1onZ3B JlK0FnlB1Z8w9eHeb4HAZcsxx+UExM3KlkgqLsiw=
From: Mike Bishop <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab154c614064b45769cb3185cfd45557730d4a050692cf000000011871c42b92a169ce183df2cd@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/2418/460813704@github.com>
In-Reply-To: <quicwg/base-drafts/issues/2418@github.com>
References: <quicwg/base-drafts/issues/2418@github.com>
Subject: Re: [quicwg/base-drafts] Consider a new stream type to act like MAX_PUSH_ID (#2418)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5c5a022b94b03_30a73f7ea18d45b43333da"; 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
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/S6268INOfU0q64H-LFfMSkaQhvg>
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: Tue, 05 Feb 2019 21:37:51 -0000

@LPardue, QPACK encoder data was originally in HEADERS frames on the control stream; the reason for moving to unidirectional streams was the insight that the blocks of updates weren't themselves significant; it was really the state of individual updates that needed to be tracked.  Because they were an ordered sequence with no semantics to the division into frames, we decided that moving to a stream would be simpler to process.

In this case, the semantics are a little different -- you really only ever care about the most recent value.  In the transport and in H2, we carry such things in frames because that's what we have.  An application on top of QUIC doesn't really have an equivalent mechanism until DATAGRAM exists.  Putting the current frame in a DATAGRAM would make the most sense.  In the meantime, @martinthomson is correct that only deltas are needed, and that's actually true even with the frame -- they're on the control stream in order, so a delta would be sufficient.  The current design does rather straddle the two options, delivering full updates in order.  The main argument for keeping the current design seems like avoiding the need to change the structure when we are able to adopt DATAGRAM.

I don't think moving it to a unidirectional stream makes it any more extension-like than defining a frame type -- extensions can do either.

-- 
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/2418#issuecomment-460813704