Re: Split error codes in two

Martin Thomson <martin.thomson@gmail.com> Mon, 25 September 2017 04:03 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 93001124F57 for <quic@ietfa.amsl.com>; Sun, 24 Sep 2017 21:03:13 -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 uZnUtliD_zNE for <quic@ietfa.amsl.com>; Sun, 24 Sep 2017 21:03:12 -0700 (PDT)
Received: from mail-oi0-x22b.google.com (mail-oi0-x22b.google.com [IPv6:2607:f8b0:4003:c06::22b]) (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 368B1124207 for <quic@ietf.org>; Sun, 24 Sep 2017 21:03:12 -0700 (PDT)
Received: by mail-oi0-x22b.google.com with SMTP id j126so5213173oia.10 for <quic@ietf.org>; Sun, 24 Sep 2017 21:03: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:content-transfer-encoding; bh=SD+Y6yxMQ3fi5dHUWPHkpmlGjJnoaygw8YbAzlYr760=; b=PBfmVVrxtRHRgu+uk+Zq0NUBmwiAQtRINDJdGf30FjK5mJNyST2UP0SBHLGNGTnPfO hOC+mpzVj9JZSRYfcJB7eYvpks+qgw7TY4nJZAeNZF9iJrWJSzj5CViPkzXMexvNZ63m P1cjStNPQdl8za887BohbmmrrB8vsY1rCUr1V3Z6RBKP2CkmHN0Aof4O5V1VxCDhdOZK X7DUZuloyAI4Hj89uu/a4kH1R3flTZwtHENYDQQUs6Ic1jbOtijUd2cJNbav+vylmw42 A3I/kXKC+ZFf4z+I8h5hc/qzsaY4paquNv8Us1V5/HZoOoEzfeBMVdoxYtRnTJnq69zL Ha1g==
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:content-transfer-encoding; bh=SD+Y6yxMQ3fi5dHUWPHkpmlGjJnoaygw8YbAzlYr760=; b=oOmFB1U0D1JZu3VALwplz6Elaya8ANVKUPrKS6RroPH9IPo85bxPh7nKd7c08+8H2O mOT/j3sR9uQK1Et+jGhXcUc8p8OVizluMO6sI/czhtU1T2TQ6GusP+Z81iS/ttPF4Rl6 bIA9X5VJdqTBQHYvOPex6gEQOaPp7auLZE5AYNGcIBlptwJBvrWYuCCoYrHdypVQT8vo ImvoVfNdwJ846m69OO1zyUXDbj5ZfmBVtRDbm1bvzq3fzzy7h5r2JxCIsHMdtCunNAOh /ygCr7FYnJrBi0lOaGU5HTzBm5uiMN1JFC6vcP00aJ4tY+cOIBlvsafw30WTFNWE1rmZ jYDA==
X-Gm-Message-State: AHPjjUgA1v/5t/ZQzwvvOZCSbhI993A24RCF0ecPeSvTpH794xTEMJrK 2FCd/hJov894ItkmXryVMN+uT4NQfrhT5aPKAgQ=
X-Google-Smtp-Source: AOwi7QAvrlbVw+K1guLoYXtQ48zY4J/lYLGAqe734NzLZ3uf3OFu9R4yPam9CHR7ZZqjzlkkSsKqBImLeLRdeV+QMao=
X-Received: by 10.202.229.203 with SMTP id c194mr8037881oih.92.1506312191426; Sun, 24 Sep 2017 21:03:11 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.157.0.38 with HTTP; Sun, 24 Sep 2017 21:03:10 -0700 (PDT)
In-Reply-To: <E3F6F096-832D-4C4E-8BFA-5C1343F565E5@fb.com>
References: <CABkgnnWwGAyHzkST9o9ueVmBw3_TpJun=dv2X+HL2snXSZJgew@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> <CAGD1bZY5xo5Krn=U3SBVUCPU4x2UAOcv2AnvzaRac9qJGM9KBg@mail.gmail.com> <DM5PR15MB14497BB2F1971C5965882875B6940@DM5PR15MB1449.namprd15.prod.outlook.com> <CAGD1bZbnpCxjdaEV_m_5XWEjtjmdxYTGh2VBoS8AgZdhxfsDhw@mail.gmail.com> <CABkgnnWRy17vuFRGhpvLBCKte3WeCdGa1M1feOBygQv+-AB2+A@mail.gmail.com> <CAGD1bZZL-4HzArTQfWrC+CbHYsyB6Wdx4cbz7+0X7YOiuc-+Qg@mail.gmail.com> <BN6PR21MB01302C7E8A43AF9DB7A63335876E0@BN6PR21MB0130.namprd21.prod.outlook.com> <bca00829d58049fb8a644f3787011fca@ustx2ex-dag1mb5.msg.corp.akamai.com> <d63880bf-7eaa-158b-a3f8-04142f288853@huitema.net> <E3F6F096-832D-4C4E-8BFA-5C1343F565E5@fb.com>
From: Martin Thomson <martin.thomson@gmail.com>
Date: Mon, 25 Sep 2017 14:03:10 +1000
Message-ID: <CABkgnnVXzKz-Y6DfNADYSPQC_WfO-QyX8bE5r84J7XkPjXVsaQ@mail.gmail.com>
Subject: Re: Split error codes in two
To: Roberto Peon <fenix@fb.com>
Cc: Christian Huitema <huitema@huitema.net>, "quic@ietf.org" <quic@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/dqgK1NvOo6BcUZ49SVJZzleLFzU>
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: Mon, 25 Sep 2017 04:03:13 -0000

On Thu, Sep 14, 2017 at 12:40 AM, Lubashev, Igor <ilubashe@akamai.com> wrote:
> Thinking about this a bit more, it seems that the key difference between
> “tcp socket” and “two pipe pairs” models is independence of the send and
> receive directions.

I prefer Christian's analogy of streams as messages.  That's what
motivated the design that I proposed.  Then you don't get "pipe pairs"
you get "messages and (optionally) response messages".

On Thu, Sep 14, 2017 at 5:03 AM, Roberto Peon <fenix@fb.com> wrote:
> So many RPC models have failed utterly because they couldn’t handle
> receiving the data in a streaming fashion.

That doesn't invalidate the streams-are-messages model, it just
recognizes that the messages cannot be sent and received as a single
unit (unless they are 0 length, I guess).  Flow control, multiplexing,
etc, etc...

~

I want to come back to the original question in light of what we learned:

 -> what is the transport going to **do** with a STOP_SENDING?

I can't think of anything other than to tell the application.  That
makes the answer pretty clear to me.

I don't think that this discussion - valuable as it is been - has
changed my position on this much.  Ideally I would like to enable all
the various viewpoints on the question to be equally valid.  Building
a protocol that can provide something that looks like a TCP socket is
challenging though, because the complete close of a coupled pair
cannot be done generically - I think that we all agree that this is
impossible in the general case.

I can appreciate the desire to build some of the pieces that might be
needed to build a bidirectional close, but I think that is more
dangerous than useful and would prefer to leave this to application
protocols.