Re: [quicwg/base-drafts] Define terms for application actions (#2857)

MikkelFJ <> Wed, 23 October 2019 19:56 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 9926F120947 for <>; Wed, 23 Oct 2019 12:56:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.999
X-Spam-Status: No, score=-2.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_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 9pr2NrOUDOU3 for <>; Wed, 23 Oct 2019 12:56:48 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 4057A120A8E for <>; Wed, 23 Oct 2019 12:56:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed;; h=from:reply-to:to:cc:in-reply-to:references:subject:mime-version:content-type:content-transfer-encoding:list-id:list-archive:list-post:list-unsubscribe; s=s20150108; bh=md6ES8l9QzHarBod8ESPYsxxgqY=; b=ZavdO2NYTO/7YeXA EzYsJP6cmLGJ5D7j5SwyMl040tmFtFt2AwTfZdBAy+JbtjrxC+uegvZfTZ14Czs1 1k5VSByTixXC9L2J/O+hfHQfzsbNzwAS6F5qfvREDgs3h3v64y5uCcL2XmqoV7W9 uLB27brJHcnmo64ZpXDrLCZCr+w=
Received: by with SMTP id filter2074p1mdw1-23902-5DB0B07F-1A 2019-10-23 19:56:47.584311827 +0000 UTC m=+498393.277000815
Received: from (unknown []) by (SG) with ESMTP id OW9F2JY8QlGL8zh2DWmKJA for <>; Wed, 23 Oct 2019 19:56:47.538 +0000 (UTC)
Received: from (localhost []) by (Postfix) with ESMTP id 79B961F0002A for <>; Wed, 23 Oct 2019 12:56:47 -0700 (PDT)
Date: Wed, 23 Oct 2019 19:56:47 +0000 (UTC)
From: MikkelFJ <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/pull/2857/review/>
In-Reply-To: <quicwg/base-drafts/pull/>
References: <quicwg/base-drafts/pull/>
Subject: Re: [quicwg/base-drafts] Define terms for application actions (#2857)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5db0b07f787da_2eee3fc34b4cd96859548"; charset=UTF-8
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: mikkelfj
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-SG-EID: l64QuQ2uJCcEyUykJbxN122A6QRmEpucztpreh3Pak1bdp8v6/dChbp+cIWT8Jq4NGmuezVnGqDN13 nh/vGr/eBuxoWagVIRmfGI908kcnGSNPBsYm5Se/BzPYqR/rF3ObMMHWfoNcY8RmLq85UOH4v6AO9r yTH/ex4+H/xEg7C5jWhM7Ek9yFJgd1gvwRUQbmpn3gsvbYMEDut1bmL1lUvTE7D3cNvyAg24iveCDl 4=
Archived-At: <>
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 23 Oct 2019 19:56:51 -0000

mikkelfj commented on this pull request.

> +## Required Operations on Streams
+There are certain operations which an application MUST be able to perform when
+interacting with QUIC streams.  This document does not specify an API, but
+any implementation of this version of QUIC MUST expose the ability to perform
+the operations described in this section on a QUIC stream.
+On the sending part of a stream, application protocols need to be able to:
+- write data, understanding when stream flow control credit
+  ({{data-flow-control}}) has successfully been reserved to send the written
+  data
+- end the stream (clean termination), resulting in a STREAM frame
+  ({{frame-stream}}) with the FIN bit set; and
+- reset the stream (abrupt termination), resulting in a RESET_STREAM frame
+  ({{frame-reset-stream}}), even if the stream was already ended.

So you mean to say that an application should be able to reset a stream at an arbitrary point after the stream has sent a FIN bit? If so, I don't think that is a good idea. In my view that would be an API error of invalid handle or invalid handle state. It's one thing to allow races between RESET and FIN but to require it forever is different.

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub: