Re: Unidirectional streams PR
Martin Thomson <martin.thomson@gmail.com> Thu, 22 June 2017 01:50 UTC
Return-Path: <martin.thomson@gmail.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9C978129449 for <quic@ietfa.amsl.com>; Wed, 21 Jun 2017 18:50:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 IHIUfnihTzev for <quic@ietfa.amsl.com>; Wed, 21 Jun 2017 18:50:12 -0700 (PDT)
Received: from mail-lf0-x22a.google.com (mail-lf0-x22a.google.com [IPv6:2a00:1450:4010:c07::22a]) (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 57CBE12940F for <quic@ietf.org>; Wed, 21 Jun 2017 18:50:12 -0700 (PDT)
Received: by mail-lf0-x22a.google.com with SMTP id p189so1185851lfe.2 for <quic@ietf.org>; Wed, 21 Jun 2017 18:50:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=Xu1IENbZLkMuR2pRxK6gAYZBvQUKcy1kVW82Rp166ao=; b=KmMZaqZyAk8D1elLO1TOyA69zxpWTcu++KVot7sEmXMdT7jBLbxEAFib3GQnvGebee 5R82FwPTJH2yJ283gvr8OC0j+AX85bwN02lA2TqiJSo92AawuSzq9V9ltcbkwEPFjtCI DWSNLDZKCdJ36+GSkTluFIz9+tCTAAcFEp6PcF6xtulT2zcp+AVsrJIvBLWUOR97+zXi HW1vbV04HB4CEPP6V9nneXVTsGUqiHKKQqdZ1VjTj4gDZmh0uQ7ROQDFbL8FWwgX3Qr8 yEIAIzJTKWkMNYlPAi8FhDlkuDPLG5Osh5EhdApCTySMEfpU3vzA0R7Wf3qN6stZC4wr I/YA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=Xu1IENbZLkMuR2pRxK6gAYZBvQUKcy1kVW82Rp166ao=; b=Rzrw9lMyHTjqfjSkox4yXsCi+cyNIQRaQxw2obIqoHg2hTNLjlUSbt0VrSIZVvYCs0 pfHbOlzt5q7mwsCraCu6MydsZz7NHGD5epyjRxxv6X2v3bQhvu/JNfTcbsgjoBurrcsb 8fFqmXzQiAa3s6Pxt6jJF/HCEwlwSl9XKDhdMGMgG0v0RDqizbry8Z8EPq5S26Oe/GgW rmu/y0Kj9N+GRK7KjMl6qRC6I4osmItp92ja5IewDLtzJCXTESRNMh7IQQetLb0XpCLH yKGM8cVGQ9BnXTOa5wlF8dlKXnT+ifPqTIbS1BxJB8pVRNxtfAIe/zhM3K0FamwHMvDb xKyA==
X-Gm-Message-State: AKS2vOyAVUZX+I9gwRwe4FjbBjhYEe8iXVo2BAFfqc/mqqHViRW2y4zG nu0marEL0IBYTuRLjaMMNkivnY1j7PqbNEM=
X-Received: by 10.46.84.28 with SMTP id i28mr39513ljb.44.1498096210583; Wed, 21 Jun 2017 18:50:10 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.46.78.17 with HTTP; Wed, 21 Jun 2017 18:50:09 -0700 (PDT)
In-Reply-To: <CAGD1bZb9Na32z=Gg9JS+FzrGGN9Jhw=QDTMTYS=FVcNesoSMig@mail.gmail.com>
References: <CABkgnnW+veDVq27v+wTz0cA=eGPRTLQ1A90A0ynHLPU88Pg77Q@mail.gmail.com> <CAOdDvNpORYBr7+Q8M_nnGOm4MsWqVbm6koOtQ+=An8t7AbccGg@mail.gmail.com> <CAGD1bZb9Na32z=Gg9JS+FzrGGN9Jhw=QDTMTYS=FVcNesoSMig@mail.gmail.com>
From: Martin Thomson <martin.thomson@gmail.com>
Date: Thu, 22 Jun 2017 11:50:09 +1000
Message-ID: <CABkgnnV2yPP-qgLKZYPsvawXc7FP4RM7CZDDa7aFaNy0KxLfag@mail.gmail.com>
Subject: Re: Unidirectional streams PR
To: Jana Iyengar <jri@google.com>
Cc: Patrick McManus <pmcmanus@mozilla.com>, QUIC WG <quic@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/dzujOyMISjO_VrAdHQftvjqK_a4>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Jun 2017 01:50:15 -0000
On 22 June 2017 at 09:48, Jana Iyengar <jri@google.com> wrote: > My design sense says to optimize for the common case and to allow for the > exceptions. Given that our scope is to really get things rolling for HTTP > ASAP, I'd argue that request-response is the common case that we need to > optimize for. I think that this is a fair criticism, and I wanted to address it. My concern is exactly the same as yours: I want get HTTP working. And unfortunately, HTTP/2 is not a simple request/response protocol. This is why HTTP/2 and now QUIC allow the server to initiate streams. And it's that exact gap that motivated me to propose this change. In my view, this change makes it *easier* to finish HTTP over QUIC. The cost is that HTTP is marginally more complex. My view is that the overall protocol (HTTP+QUIC) is no more or less complex than before, there are big savings in transport, and some minor savings in HTTP that counteract the added cost: having to include explicit correlation for request and response, and having to add a way to cancel requests before the response starts. [1] In terms of generality, we've already heard from Christian that this is basically neutral for DNS, possibly with a tiny reduction in complexity related to not having to check that redundant identifiers in a response are consistent. Ted suggested that we aim for a design that supports BOTH unidirectional and bidirectional. Given how trivial it is to add an identifier - as demonstrated by this PR - I don't see how building that facility into the base transport is a net win. Some protocols can still use the stream identifiers as a correlator, for instance those protocols that are properly request/response don't need explicit correlators. That choice - as with your proposal to retain bidirectionality - creates a potential for head-of-line blocking under certain circumstances, something that an explicit correlator at the application layer neatly avoids. [1] I don't consider HAS_BODY to be a cost, I'm now firmly of the opinion that merging headers and body back into a single stream is the right solution and that what I wrote up here is only temporary.
- Unidirectional streams PR Martin Thomson
- Re: Unidirectional streams PR Patrick McManus
- Re: Unidirectional streams PR Jana Iyengar
- Re: Unidirectional streams PR Martin Thomson
- Re: Unidirectional streams PR Jana Iyengar
- Re: Unidirectional streams PR Mark Nottingham
- Re: Unidirectional streams PR Martin Thomson
- Re: Unidirectional streams PR Jana Iyengar
- RE: Unidirectional streams PR Mike Bishop
- RE: Unidirectional streams PR Lucas Pardue
- Re: Unidirectional streams PR Jo Kulik
- Re: Unidirectional streams PR Ian Swett
- Re: Unidirectional streams PR Eric Rescorla
- Re: Unidirectional streams PR Ted Hardie
- Re: Unidirectional streams PR Wenbo Zhu
- Re: Unidirectional streams PR Martin Thomson
- Re: Unidirectional streams PR Ted Hardie
- RE: Unidirectional streams PR Mike Bishop
- Re: Unidirectional streams PR Jana Iyengar
- Re: Unidirectional streams PR Jana Iyengar
- Re: Unidirectional streams PR Ryan Hamilton
- Re: Unidirectional streams PR Martin Thomson
- RE: Unidirectional streams PR Lubashev, Igor
- Re: Unidirectional streams PR Jana Iyengar
- Re: Unidirectional streams PR Ian Swett
- RE: Unidirectional streams PR Lubashev, Igor
- Re: Unidirectional streams PR Ian Swett
- RE: Unidirectional streams PR Lubashev, Igor
- RE: Unidirectional streams PR Mike Bishop
- Re: Unidirectional streams PR Ryan Hamilton
- Re: Unidirectional streams PR Christian Huitema
- RE: Unidirectional streams PR Lubashev, Igor
- RE: Unidirectional streams PR Lubashev, Igor
- Re: Unidirectional streams PR Martin Thomson
- Re: Unidirectional streams PR Philipp S. Tiesel
- Re: Unidirectional streams PR Ian Swett
- RE: Unidirectional streams PR Lubashev, Igor
- Re: Unidirectional streams PR Ian Swett
- RE: Unidirectional streams PR Mike Bishop
- Re: Unidirectional streams PR Mikkel Fahnøe Jørgensen
- Re: Unidirectional streams PR Christian Huitema
- Re: Unidirectional streams PR Ranjeeth Kumar Dasineni
- Re: Unidirectional streams PR Dmitri Tikhonov
- Re: Unidirectional streams PR Mikkel Fahnøe Jørgensen
- Re: Unidirectional streams PR Jo Kulik
- RE: Unidirectional streams PR Swindells, Thomas (Nokia - GB/Cambridge, UK)
- RE: Unidirectional streams PR Mike Bishop
- Re: Unidirectional streams PR Martin Thomson
- RE: Unidirectional streams PR Lubashev, Igor
- Re: Unidirectional streams PR Ian Swett
- Re: Unidirectional streams PR Christian Huitema
- RE: Unidirectional streams PR Mike Bishop
- Re: Unidirectional streams PR Christian Huitema
- Re: Unidirectional streams PR Mikkel Fahnøe Jørgensen
- Re: Unidirectional streams PR Subodh Iyengar
- RE: Unidirectional streams PR Lubashev, Igor
- Re: Unidirectional streams PR Subodh Iyengar
- RE: Unidirectional streams PR Lubashev, Igor
- Re: Unidirectional streams PR Kazuho Oku
- RE: Unidirectional streams PR Lubashev, Igor
- Re: Unidirectional streams PR Subodh Iyengar
- Re: Unidirectional streams PR Kazuho Oku
- Re: Unidirectional streams PR Martin Thomson
- Re: Unidirectional streams PR Kazuho Oku
- Re: Unidirectional streams PR Jana Iyengar
- Re: Unidirectional streams PR Martin Thomson
- Re: Unidirectional streams PR Kazuho Oku
- RE: Unidirectional streams PR Lubashev, Igor
- Re: Unidirectional streams PR Martin Thomson
- Re: Unidirectional streams PR Kazuho Oku
- Re: Unidirectional streams PR Martin Duke
- Re: Unidirectional streams PR Jana Iyengar
- Re: Unidirectional streams PR Martin Duke
- Re: Unidirectional streams PR Jana Iyengar
- RE: Unidirectional streams PR Lubashev, Igor
- RE: Unidirectional streams PR Mikkel Fahnøe Jørgensen
- RE: Unidirectional streams PR Lubashev, Igor
- Re: Unidirectional streams PR Charles 'Buck' Krasic
- Re: Unidirectional streams PR Charles 'Buck' Krasic