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

Kazuho Oku <notifications@github.com> Tue, 05 February 2019 19:00 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 AC237130ED0 for <quic-issues@ietfa.amsl.com>; Tue, 5 Feb 2019 11:00:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.553
X-Spam-Level:
X-Spam-Status: No, score=-7.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_NONE=-0.0001, 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 veP0vZeSYO6d for <quic-issues@ietfa.amsl.com>; Tue, 5 Feb 2019 11:00:29 -0800 (PST)
Received: from o7.sgmail.github.com (o7.sgmail.github.com [167.89.101.198]) (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 B5AA8131201 for <quic-issues@ietf.org>; Tue, 5 Feb 2019 11:00:28 -0800 (PST)
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=ZOPuF+rAikai41IGhRWljg4H7Nw=; b=j1dbQgPHaA6BfTE8 lN5kkcceqQZYb4RrkLl3o1Zwq6N+8rfnOBN2N1aQBSN9ZswVAdzXP/Du7/vSRhbU qWRuNLf17XceLZbPSqhcaMpw+I0fO7W13fzZnE8bMkcABr2ICq1bVmTAdiPE4A0f 07qsV3p99s/7OAkITwjLCnSPCSw=
Received: by filter1363p1mdw1.sendgrid.net with SMTP id filter1363p1mdw1-27978-5C59DD4A-1A 2019-02-05 19:00:26.409657731 +0000 UTC m=+678986.093170044
Received: from github-lowworker-dcc078e.cp1-iad.github.net (unknown [192.30.252.44]) by ismtpd0036p1iad2.sendgrid.net (SG) with ESMTP id -KzIf3U6RfS9mGxgrGxREw for <quic-issues@ietf.org>; Tue, 05 Feb 2019 19:00:26.378 +0000 (UTC)
Received: from github.com (localhost [127.0.0.1]) by github-lowworker-dcc078e.cp1-iad.github.net (Postfix) with ESMTP id 5B0512C005D for <quic-issues@ietf.org>; Tue, 5 Feb 2019 11:00:26 -0800 (PST)
Date: Tue, 05 Feb 2019 19:00:26 +0000
From: Kazuho Oku <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab5231fc26ac3b35a53116d174fb32d79bef56083692cf0000000118719f4a92a169ce183df2cd@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/460761115@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_5c59dd4a591ee_10d53f90bc6d45c0442395"; 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
X-SG-EID: l64QuQ2uJCcEyUykJbxN122A6QRmEpucztpreh3Pak3bGmIpQLFBLy5cu9DXwPQJm/Mwi0CZ+Bewlj xjsF3HCA5L/TcIheAr0lYUYFVmDkjgqte043ud8ZIqb08UnUJUMOrTeie316vHZHdfXoDWQEB9gcYq /cZ0JSviwPOSS38BIW4vMpr+IdcPUSKJXXQE1onFLEFgeuqKG0vK9tcTCEuOgV6Z6ZaaBk+7banlUd o=
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/LsEeE7J2TnGYuM6wpY0C3EXnJKI>
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 19:00:37 -0000

> Consider defining a new unidirectional stream type for Max Push ID updates. This can be expressed as unframed data: a series of increasing var ints.

Am I correct in assuming that the design have the same issue to what you tried to address in #2412? If so, I wonder what the benefit of changing the design is.

> The use of MAX_PUSH_ID frame is entirely unidirectional, so using a uni stream is a slightly better fit to the concept. Another reason to consider this approach is that it lends itself to extracting server push into an extension. It provides a pattern for how future extensions could manage themselves without needing to pollute the core control stream.

I am not sure if that is the preferred approach. Although I acknowledge some of the upsides, the downsides of using unidirectional stream are that it requires more state (due to the need for it's own send / receive buffers) and that it is sometimes complex to synchronize the states that are communicated over multiple streams. There are multiple cases where we could use a dedicated stream instead of sending a frame on the control stream; PRIORITY, CANCEL_PUSH, GOAWAY, DUPLICATE_PUSH, I believe that the payload of all these frames can be sent using their own streams, the same way the proposal tries to carry the payload of MAX_PUSH_ID frame.

To put it another way, it seems to me that our current design pattern is to use the control stream for transmitting various data instead of allocating a different unidirectional stream for each type of information. Allocating a different stream for just MAX_PUSH_ID would be a inconsistency in the design. Do we want to have dedicated unidirectional streams for each type of control information? To me that sounds like a design that's unnecessarily heavyweight.

-- 
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-460761115