Re: [quicwg/base-drafts] Inconsistency in STOP_SENDING requirements relative to resetting streams in general (#2884)

mjoras <notifications@github.com> Wed, 10 July 2019 17:13 UTC

Return-Path: <noreply@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 E7C69120140 for <quic-issues@ietfa.amsl.com>; Wed, 10 Jul 2019 10:13:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.999
X-Spam-Level:
X-Spam-Status: No, score=-7.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_IMAGE_ONLY_32=0.001, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, 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 jbmBDrMMMFKt for <quic-issues@ietfa.amsl.com>; Wed, 10 Jul 2019 10:13:38 -0700 (PDT)
Received: from out-24.smtp.github.com (out-24.smtp.github.com [192.30.252.207]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6EF681200FE for <quic-issues@ietf.org>; Wed, 10 Jul 2019 10:13:18 -0700 (PDT)
Date: Wed, 10 Jul 2019 10:13:17 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1562778797; bh=Em/V7hshny2y7Sw8mSbGiZlPOlno5Z8eecIVp6eAaoI=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=izHIbLoUKKJox0OwE4y434jNVde9rgWr1PvDjlS+GKvBZKxeFY8HDFOmBAcIWhrri XC6fQeBNsEILwYuCBRbfb40I/s6gNoAJbTzJUsFF0n/AgNnI+1oIRqy9Cj/RNw9ZZZ Xq9U4taAs8YHuneP3mgrkKskhj3GGW9+y2iHzNso=
From: mjoras <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJK2ECE6U2LA7JU2DIW53GNHS3EVBNHHBXRCWWI@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/2884/510149568@github.com>
In-Reply-To: <quicwg/base-drafts/issues/2884@github.com>
References: <quicwg/base-drafts/issues/2884@github.com>
Subject: Re: [quicwg/base-drafts] Inconsistency in STOP_SENDING requirements relative to resetting streams in general (#2884)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5d261cad20274_43dc3feb8aacd964179959"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: mjoras
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/CH0ZBRZK4NR0IBB9Soqymxwft3A>
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: Wed, 10 Jul 2019 17:13:40 -0000

> The application can implement this incorrectly.

The application can also incorrectly implement having its stream reset without notification, as is currently allowed by the spec. The spec as written IMO encourages confusing semantics with respect to STOP_SENDING, as it forces the transport to send the reset and leaves it up to the implementation to decide how and when it notifies the application.

> The application may be slow to process the STOP_SENDING, and in the meantime a lot of unnecessary data may be sent. Doing this at the transport layer allows immediate processing.

We don't need to be prescriptive in saying the application MUST handle it, i.e. we don't need to disallow transport implementations from responding to the STOP_SENDING without application input. I am suggesting that we not require that the transport be the one to do it. I don't see an advantage to allowing the application to take control of sending the reset if it wants to. 

> The application may also have delivered everything including FIN.

I don't see how this is a concern. For such cases either the application can still issue a reset for the stream, or the transport implementation can optionally take control of it and issue the reset itself.

-- 
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/2884#issuecomment-510149568