Re: [quicwg/base-drafts] hq: Does ignored data/frames cause flow control updates? (#1580)

MikkelFJ <notifications@github.com> Wed, 18 July 2018 17:49 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 D1835130E69 for <quic-issues@ietfa.amsl.com>; Wed, 18 Jul 2018 10:49:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.009
X-Spam-Level:
X-Spam-Status: No, score=-3.009 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, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01, URIBL_BLOCKED=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 gXmW1Akn0Ika for <quic-issues@ietfa.amsl.com>; Wed, 18 Jul 2018 10:49:49 -0700 (PDT)
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 BD8FC130E32 for <quic-issues@ietf.org>; Wed, 18 Jul 2018 10:49:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=github.com; 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=Q/HwaKoRb+yqdNLPMTPA2GV4ZvM=; b=e/xjnBvFeQrUZqWD UN7Ozr935QgVgXohQcjXqwlUrjt8KG+3EOABMiDQ+pAMP8JNXSrngnTWPTfmp1bx QzjxhrFACa8chIJv60bNIY2GLUqdX9IVQwpZIaE08q9g8GvrZMCi+P8ps0EVnlR0 yjaH9M/XjiT8JnwjNHDJsrkTRF8=
Received: by filter0746p1las1.sendgrid.net with SMTP id filter0746p1las1-31215-5B4F7DAB-41 2018-07-18 17:49:31.521103627 +0000 UTC m=+68431.970875821
Received: from github-lowworker-643483b.cp1-iad.github.net (unknown [192.30.252.45]) by ismtpd0003p1iad1.sendgrid.net (SG) with ESMTP id 5GHGl920SaGxGaSJLQOyjw for <quic-issues@ietf.org>; Wed, 18 Jul 2018 17:49:31.423 +0000 (UTC)
Received: from github.com (localhost [127.0.0.1]) by github-lowworker-643483b.cp1-iad.github.net (Postfix) with ESMTP id 657C86C13D7 for <quic-issues@ietf.org>; Wed, 18 Jul 2018 10:49:31 -0700 (PDT)
Date: Wed, 18 Jul 2018 17:49:31 +0000
From: MikkelFJ <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab57f639bc99ac110da6c4c4582d6e43657b95257c92cf0000000117673fab92a169ce1467cce7@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/1580/406017758@github.com>
In-Reply-To: <quicwg/base-drafts/issues/1580@github.com>
References: <quicwg/base-drafts/issues/1580@github.com>
Subject: Re: [quicwg/base-drafts] hq: Does ignored data/frames cause flow control updates? (#1580)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5b4f7dab63d5a_37be3f9b800bef7c742668"; 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-GitHub-Recipient-Address: quic-issues@ietf.org
X-SG-EID: l64QuQ2uJCcEyUykJbxN122A6QRmEpucztpreh3Pak3Yk0HhQxXrWcMKGcMjbgq/KlRAlrRvp0vJJj fPBGYzIL5j7qFmqAEfJHL0d95Wwam8qCb/dnWsUORBZqiOADkEO3ey3M09bsrO89W1uB4Tj1xdLE6d spam1JxpdR7/1lM4sIZfC2YNgDdZlRcTrbboGAXSPOu2oNmtWmxn6J/7Ankeuaw51EreEOqBYYcKxr c=
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/K-042LT0PvmZG-GjHOZVyxsy66g>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.27
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, 18 Jul 2018 17:49:52 -0000

My comments are purely in relation to transport. I can't say if there is unclear language in the HQ spec.

Even if HQ is a primary use case for QUIC, the transport cannot be concerned with how an application uses data. So it HQ (the app in this case) layer needs to notify the transport when to advance MAX or it must have another semi-automatic way to signal this as I suggested earlier. So the answer to the question must be a yes - the app must help transport advance flow control as long is it expects to receive more data - on that stream in particular, and on streams in general due to the global flow control credits. Also if a given range is ignored.

When a stream is terminated using RST there is an exact stream offset included. Data up to that offset counts against the global flow control while the max for the specific stream no longer matter because it is retired and pending data will not wait for more credits on that stream.

Due to race conditions data might be sent after the RST offset and there could be multiple RST's. However, if there are multiple RST's they must agree, or it is a protocol violation.

I assume that data sent after the RST offset will be rolled back from global credits counting, but I'm not entirely sure about this. Perhaps this should be clarified?

-- 
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/1580#issuecomment-406017758