[quicwg/base-drafts] RST_STREAM and connection-level flow control (#163)
Martin Thomson <notifications@github.com> Tue, 17 January 2017 01:21 UTC
Return-Path: <bounces+848413-a050-quic-issues=ietf.org@sgmail.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 6E4B5129519 for <quic-issues@ietfa.amsl.com>; Mon, 16 Jan 2017 17:21:48 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.219
X-Spam-Level:
X-Spam-Status: No, score=-5.219 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_NONE=-0.0001, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-3.199, 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 2sH6zlyFbCei for <quic-issues@ietfa.amsl.com>; Mon, 16 Jan 2017 17:21:46 -0800 (PST)
Received: from o7.sgmail.github.com (o7.sgmail.github.com [167.89.101.198]) (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 9D81D128B38 for <quic-issues@ietf.org>; Mon, 16 Jan 2017 17:21:46 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=github.com; h=from:reply-to:to:cc:subject:mime-version:content-type:content-transfer-encoding:list-id:list-archive:list-post:list-unsubscribe; s=s20150108; bh=StOMnRvats7XZy1geSzDq3FbuYE=; b=rOmFbhBfe+KP4J7M rxg8xfIJu0mM9C9z8AibNBzoqQqUCWBC0Z7YRolzVwajyS6dKecx7vGEnDVtnV5I wrPHeY5B+eYjVf5TBIUXoyDv4/LbcWqwYZpEYTUTY9P3LYN2w9RSYzrI5HazcqR5 Bbpi9p3FvCwJHPARZZ6Mpvxq2vI=
Received: by filter0641p1mdw1.sendgrid.net with SMTP id filter0641p1mdw1-8417-587D71A7-C 2017-01-17 01:21:43.08018936 +0000 UTC
Received: from github-smtp2b-ext-cp1-prd.iad.github.net (github-smtp2b-ext-cp1-prd.iad.github.net [192.30.253.17]) by ismtpd0003p1iad1.sendgrid.net (SG) with ESMTP id QXsZVHjXTy-LvEdXK4ZAcg for <quic-issues@ietf.org>; Tue, 17 Jan 2017 01:21:42.950 +0000 (UTC)
Date: Mon, 16 Jan 2017 17:21:42 -0800
From: Martin Thomson <notifications@github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/163@github.com>
Subject: [quicwg/base-drafts] RST_STREAM and connection-level flow control (#163)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_587d71a6d27a7_6b693fef53bc113c55514c"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: martinthomson
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
X-SG-EID: l64QuQ2uJCcEyUykJbxN122A6QRmEpucztpreh3Pak2HtiYTmxEpEwkJe3dLyUysbmg2VFH3foTyS0 Tg7S2gl3n5MMT4WUNtB7J8Do2vxFMmoo4sXHxSFCnC71jN8AAxf3HzLdm11rW+Bn0LlISTbIvNtl6M jzhk1VD/45/ePgHJmJWPIqk7FMzIKyuIIOYphQgrXg/d9A5T67J/uiaqqkrGaYb3DYZ6tpHyQf2DhF Y=
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/oxzSkU7huxPDZ3sToRgigtI9XQY>
Cc: Subscribed <subscribed@noreply.github.com>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.17
Reply-To: quic@ietf.org
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: Tue, 17 Jan 2017 01:21:48 -0000
RST_STREAM kills a stream, but what impact does it have on connection flow control? Or are we required to account for data in STREAM frames even if they are discarded? The problem here is that data on reset streams is not re-sent, therefore peers get a very different view about what data has been sent. The receiver of RST_STREAM has no way to manage connection-level flow control for the packets that it has sent. Packets that it sends before receiving the RST_STREAM might be lost and therefore they might or might not have been counted by the other side. At best, this results in an overly pessimistic view of the connection-level flow control window. Though it could end up freezing the connection if there are lots of RST_STREAM use with concurrent packet loss. The sender of RST_STREAM can signal the offset of the last octet and thereby ensure that their data is accounted for. (Separately, we need policing for this value: if it indicates that a flow control window was exceeded, we should treat it as such, even if the frames that it mentions were never sent: opened #162.) A potential fix: require RST_STREAM in both directions. A more drastic fix: make streams unidirectional. Related to the issue @marten-seemann originally mentioned in #145. -- 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/163
- Re: [quicwg/base-drafts] RST_STREAM and connectio… Mike Bishop
- [quicwg/base-drafts] RST_STREAM and connection-le… Martin Thomson
- Re: [quicwg/base-drafts] RST_STREAM and connectio… Mark Nottingham
- Re: [quicwg/base-drafts] RST_STREAM and connectio… Mark Nottingham