Re: Splitting transport and application error code spaces

Martin Thomson <martin.thomson@gmail.com> Tue, 15 August 2017 00:48 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 9591E13247C for <quic@ietfa.amsl.com>; Mon, 14 Aug 2017 17:48:53 -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 IzSnw665ZNOm for <quic@ietfa.amsl.com>; Mon, 14 Aug 2017 17:48:52 -0700 (PDT)
Received: from mail-it0-x231.google.com (mail-it0-x231.google.com [IPv6:2607:f8b0:4001:c0b::231]) (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 21108132476 for <quic@ietf.org>; Mon, 14 Aug 2017 17:48:52 -0700 (PDT)
Received: by mail-it0-x231.google.com with SMTP id 76so3300494ith.0 for <quic@ietf.org>; Mon, 14 Aug 2017 17:48:52 -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=Jv6GRL1+rkovvHs0C3aViBUrh3ldW8r/ZNYatOk4KFI=; b=IzgXrzxZzBEab4R3A6wEzUbX+OEWvUq1OQXFlRioDyRVYGrzvne8IOaUOIeNh5DKCF /j7bO7M2Gesf0BASNgWEAtNOdbWFOw1djBxuUxCB20ziKp011P4KxnwDLWJtR1IwTaCe 0ukziFLfXApISRw0AY7JI6cn8Bt6xAsmfu+o4LZJtFFDY1uhD4tsdjg4EROgDwTxpcCL DGGNybXCsve6O+0j3EXYQiIi7Amo0CzEIKBOwRvjYtOQD7UBm8Pwslv/hrro/qryY1+V jCwct00dQx7HA91grs8LwnQgsPAPtlVdudG8w9wy39TchuA2qnuuK4VmHqtmwDEOXYin y2HQ==
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=Jv6GRL1+rkovvHs0C3aViBUrh3ldW8r/ZNYatOk4KFI=; b=pTbGgIgbkh7ofSwaLbHU70XOrqr0cJodYqunmosDsbj3MGq5hOIJ5+BiCBcEQqcg9S ygUbK/WRjhQy/On9rRMoTYuFo2CpLAAxUOOWBJzCk28d8bQKfjCR9swyMbntrQnsb+4U 7VfzYT2dWGBhCkLgdnpgcck7vou9IikrplJLvmXIvfBAPBPcB8py7HffG4RG2qs/AqFR pW7OfyYWATDZVN1vvknaedegwQ9Xvc5HcA/RCaKpzO70wIy1Dod4A/CIEl93IkDIUXkN lJ2V71f2pDLlVY4qFHEroQGPviyMIkoGEyxCYzAoEV7GB/m/9VajD5vW8cSvPlUSNhAP zGwQ==
X-Gm-Message-State: AHYfb5gM00ACXhhUpQOHmH3tmwQ3DqltEqjMYNN6megsxseuXWma2+6c 55Y0UOz9DdwKrzKuHgF13GuT0bN5uw==
X-Received: by 10.36.13.10 with SMTP id 10mr738413itx.51.1502758131467; Mon, 14 Aug 2017 17:48:51 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.107.164.42 with HTTP; Mon, 14 Aug 2017 17:48:50 -0700 (PDT)
In-Reply-To: <CAGD1bZYv8LDuyOH=tP1wDk+Ja+=Yy1MYAGLUxtyB2DpBLXdqwQ@mail.gmail.com>
References: <CABkgnnXcjaqXeRLq=+W98HnubFSEy_DWB7PbaK8GEDUK+Wvetg@mail.gmail.com> <CY4PR21MB0136EE9B4C91C296860A38F687890@CY4PR21MB0136.namprd21.prod.outlook.com> <CABkgnnU6gP++XeByfz3ML75VCuowrDA94DvjijZxL=sRCBiOSA@mail.gmail.com> <CAGD1bZYv8LDuyOH=tP1wDk+Ja+=Yy1MYAGLUxtyB2DpBLXdqwQ@mail.gmail.com>
From: Martin Thomson <martin.thomson@gmail.com>
Date: Tue, 15 Aug 2017 10:48:50 +1000
Message-ID: <CABkgnnXDc8Fzh0Y6yB9BUWxtXi2kcfKTS+=znPPvuppHRdA3ZQ@mail.gmail.com>
Subject: Re: Splitting transport and application error code spaces
To: Jana Iyengar <jri@google.com>
Cc: Mike Bishop <Michael.Bishop@microsoft.com>, QUIC WG <quic@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/9QmTUSo1unO1wblW_DjpX7VIH0M>
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: Tue, 15 Aug 2017 00:48:54 -0000

On 15 August 2017 at 10:00, Jana Iyengar <jri@google.com> wrote:
> I'm not sure exactly what this split buys us... and it changes behavior on
> receiving STOP_SENDING.

So, what the split buys us is certainty: an application is responsible
for the lifetime of streams.  In return the application can be certain
that the transport won't destroy any state that it puts on streams at
a whim.  The split enforces this separation.

This issue with STOP_SENDING is a good one.  I have a solution to that
as well: move STOP_SENDING to HTTP.  If the required reaction
(RST_STREAM), is an application-layer action, then we should make the
trigger application-layer as well.