Re: Split error codes in two

Jana Iyengar <jri@google.com> Thu, 07 September 2017 19:02 UTC

Return-Path: <jri@google.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 5AE8F132946 for <quic@ietfa.amsl.com>; Thu, 7 Sep 2017 12:02:30 -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, HTML_MESSAGE=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=google.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 dupj_IU3YU8y for <quic@ietfa.amsl.com>; Thu, 7 Sep 2017 12:02:29 -0700 (PDT)
Received: from mail-yw0-x22c.google.com (mail-yw0-x22c.google.com [IPv6:2607:f8b0:4002:c05::22c]) (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 EE14B13263F for <quic@ietf.org>; Thu, 7 Sep 2017 12:02:28 -0700 (PDT)
Received: by mail-yw0-x22c.google.com with SMTP id q80so1793083ywg.2 for <quic@ietf.org>; Thu, 07 Sep 2017 12:02:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=3LJm39xRzIAzne+VfKm/HEta7cvyKje7LgdZBv+8NYY=; b=iZfTrry6khx+DCLpaze5qt9lOA721dokOlaaVWIk7e9oOIFx9P4fEc4OjZeqJzskSs LCb/S8gnlSBn/PGgNfRAWioUzM5aFBaLY65QOAX3+PkzcTb061tOgE6xryNBud0x8Feo E2nVVTjxlWLZO6Q5QPOiQ1Z6QmIhSXU+mx2LeHpA3imXsrmPmbleELYRbvC7k8VEPxft ywKSpebrmzi9uEblBZlqweXSgVkvRWpjk6Q44VcRi3Ox0S17UalwbDwlnNgIkUJ+rvta xWeTc1byUzrsDso2IcVco+FrJWl32/CgHTRPUrvzdQm5LogMZb9fwQCP4Xa/skHbQGiw 6RdQ==
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=3LJm39xRzIAzne+VfKm/HEta7cvyKje7LgdZBv+8NYY=; b=RbcUfrHkdw6JHfHqAOejNkJCptnFT9yNytIigi5ttHEzdvzZJ0IiPG+XLCA93HRWQ8 gx/xbliRTric7cARsqsFCxkfMbGzPbiODDrbUn75CijXbVo0Eecce1VIPLa2IHWmJyXW xbJZe56TLy9Pt7FeTCcLFZr2nK+Dym2dFHvhFdjbtep1WW0poWUlALFnfpUs/AYc24BY RumymkbsayEimGdWLUM+gtdfE+7OSTs2HLI5whQ3vjoTSMJHyRvQhPVVtJ8AxZ2idfX7 xOWoOtk/ISb8klEdZHhyYgQHKxmCYaZMpZBDvwdi6AUUDfOsHWWue9zWImGm2sXA3tkB DJiA==
X-Gm-Message-State: AHPjjUiQHPzI8iV0GGJIW7arahQkef1AG9pNoBWgYGkSfEGH1BNXh8Xp 2+YOlu6N++DenhLS2giLrKULGDztf69G
X-Google-Smtp-Source: ADKCNb78kEuPLhX1HE6KtdF9wydXb1QxklYsa2dLluYgX5z8bdo/lWAakUkYzmgCMKAJbDXyErBerLrsj+fg3vZXqkE=
X-Received: by 10.129.156.200 with SMTP id t191mr279091ywg.279.1504810947808; Thu, 07 Sep 2017 12:02:27 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.37.118.133 with HTTP; Thu, 7 Sep 2017 12:02:27 -0700 (PDT)
In-Reply-To: <MWHPR21MB0141F305CCE2B686F09549F887970@MWHPR21MB0141.namprd21.prod.outlook.com>
References: <CABkgnnWwGAyHzkST9o9ueVmBw3_TpJun=dv2X+HL2snXSZJgew@mail.gmail.com> <CAAZdMafBWFWtC7A60P1CMm_6nUnbW+_Tx_7re1bAo7Vx2kLdcA@mail.gmail.com> <CABkgnnWphw3k=f3==2y3AhexQCj9Py50SLSEH06nN3MN0SCerQ@mail.gmail.com> <CAAZdMacHC1HKhXMR4G9CKUOmYyQMsQBab+tampP-PG6n_jJZoA@mail.gmail.com> <CACdeXiLS7W8cJbnT=orHkcd9reH=8QqhOzxWnUEpWZmfcdvd2g@mail.gmail.com> <CAGD1bZa-h0ZVh7kUYQtG3r93eH6TqRXnQ6YXAcscCrCQHk8LeA@mail.gmail.com> <CABkgnnXMFUP_c+2r6YeJouJXanHd8tFcqDKgU=C9UF0stPcXOw@mail.gmail.com> <CAGD1bZZZG9L0_d7Tmo8vfdAx+=LU+yi97N42vKFGo82K16Zycw@mail.gmail.com> <05505C10-8737-4C58-BC91-E401D2659AF0@in-panik.de> <MWHPR21MB0141F305CCE2B686F09549F887970@MWHPR21MB0141.namprd21.prod.outlook.com>
From: Jana Iyengar <jri@google.com>
Date: Thu, 07 Sep 2017 12:02:27 -0700
Message-ID: <CAGD1bZY5xo5Krn=U3SBVUCPU4x2UAOcv2AnvzaRac9qJGM9KBg@mail.gmail.com>
Subject: Re: Split error codes in two
To: Mike Bishop <Michael.Bishop@microsoft.com>
Cc: "Philipp S. Tiesel" <phils@in-panik.de>, Victor Vasiliev <vasilvv@google.com>, QUIC WG <quic@ietf.org>, Martin Thomson <martin.thomson@gmail.com>, Nick Harper <nharper@google.com>
Content-Type: multipart/alternative; boundary="94eb2c0c091a0019e305589e1a15"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/YTxobyMtAUygHrsNiam3PSUEWH0>
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, 07 Sep 2017 19:02:30 -0000

>
> I'm less convinced that STOP_SENDING is HTTP-specific.  To my mind, it's
> the wire expression of a read_close(), just as RST_STREAM is the wire
> expression of a write_close().  If we'd gone the advisory route, it would
> be an HTTP-ism.  (Or at least, the mandated behavior would be at the HTTP
> layer.)  However, if we think other applications aren't ever going to want
> to close a read stream....


TCP allows for read_close() with shutdown(socket, RD), and it basically
means that TCP will send a RST to subsequent incoming data on that socket
from the peer. The expectation is that the application knows to not send
data to a peer that has issued a read_close().

What we're talking about here is different than a read_close(), since it's
an instruction to the peer to stop sending. This is only useful if I don't
want to stop sending but want only the peer to stop sending.... and the
driving use case was RST_STREAM(NO_ERROR) in HTTP/2. I still find that use
case odd, but I don't know that there's really a need for this otherwise.
I'm not very married on this point, but I'm wary of providing a knob that
really doesn't have a strong use case.