Re: flow control description in draft

Ian Swett <ianswett@google.com> Fri, 28 July 2017 16:57 UTC

Return-Path: <ianswett@google.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 9650E131748 for <quic@ietfa.amsl.com>; Fri, 28 Jul 2017 09:57:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.701
X-Spam-Level:
X-Spam-Status: No, score=-2.701 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_LOW=-0.7, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.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 jwVrjGgn9PS7 for <quic@ietfa.amsl.com>; Fri, 28 Jul 2017 09:57:44 -0700 (PDT)
Received: from mail-yw0-x235.google.com (mail-yw0-x235.google.com [IPv6:2607:f8b0:4002:c05::235]) (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 84D7012EB5D for <quic@ietf.org>; Fri, 28 Jul 2017 09:57:44 -0700 (PDT)
Received: by mail-yw0-x235.google.com with SMTP id l82so68797543ywc.2 for <quic@ietf.org>; Fri, 28 Jul 2017 09:57:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=2M2lxC7i691+RLAlYyWRSP2oGvEbadzcmWxjUTavZZc=; b=VO8NUZd12llPdFQ53oKlMjxZPTiRDdeW4TclpZwwpS2jRstpzXYmcBdJRH3U4S8QWU +Tk3kz+EnebY6i0PmGa49jNLwGGd+9jwB5yY7I3uPigcZ7gSBBUSF8vXwG4qmhzZFLcY 3aa3QgEp0h7RX8+mG3HSGThesEdBxX3IjMfXr+AIuEYTKtzhFrnZqs9d9fGfcQi0QAT4 jWw93ZYVBE1CzZj6aB50H1bbHs8jHNp6u5qlpWSRGbzWYLPKYPHo2Qj9TZ+ZhfT8kyGg HJ5ckGOHpE1tUH6ph1tcjl0xhdngbFMQlQO+mMVP/0fQA89zg7mdHpEwMIGBDkRr6udH CpQA==
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; bh=2M2lxC7i691+RLAlYyWRSP2oGvEbadzcmWxjUTavZZc=; b=LinqBkCh4HJZ4ZJS2EgUQ2wZIjMXBdVVq2Ig6x6EiXh+b9J8Z/AXF/FiPEzVTwdgVm SPFL6RWbJB2TdGIEw/FJCTBnLXz/UTBGLWQXqSAQ86wUhtbXpnAQpXNcxqIM4BQ1jlAH q5SOPT0sBfYaj5nhDNfr7h0oxDO5+TAeudv6dJHdi+PzzOpe4S2cNVTF+sGh9EwxKAZP h7Wz0pXRYMSujq6vh/GKpbvitZ9Su02k8p/GWMNP6Z2+wYjdFYHR7SZ/R59h7JWrymjl gThAbFK/UBCz4nhwQ4ahX8tvJ+157SR0p+YEGuI1xM4nFldSxciJs8ikqLs+Jv9Jh/ad tU2A==
X-Gm-Message-State: AIVw110JUnUM0xxN1Ci96Pw/XJr7lPLKFgooXCxKK/n7zXcgfE/jpNc5 8dI8M3XcHTcPfSDD1H+OfXg0tkMrDZgu
X-Received: by 10.129.121.86 with SMTP id u83mr7624708ywc.397.1501261063762; Fri, 28 Jul 2017 09:57:43 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.37.217.137 with HTTP; Fri, 28 Jul 2017 09:57:23 -0700 (PDT)
In-Reply-To: <MWHPR15MB1455F1F87FEFB41796F76C6AB6BF0@MWHPR15MB1455.namprd15.prod.outlook.com>
References: <MWHPR15MB1455F1F87FEFB41796F76C6AB6BF0@MWHPR15MB1455.namprd15.prod.outlook.com>
From: Ian Swett <ianswett@google.com>
Date: Fri, 28 Jul 2017 12:57:23 -0400
Message-ID: <CAKcm_gO2y8X+nupxjvu_zzeQ+3FL0b42z55sFtRkCZ8Q3CLxSg@mail.gmail.com>
Subject: Re: flow control description in draft
To: Subodh Iyengar <subodh@fb.com>
Cc: "quic@ietf.org" <quic@ietf.org>
Content-Type: multipart/alternative; boundary="94eb2c0a8b326c33ee055563943c"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/HAuursHvi-tX29z4j0ZPhGjQqX8>
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: Fri, 28 Jul 2017 16:57:47 -0000

On Fri, Jul 28, 2017 at 11:18 AM, Subodh Iyengar <subodh@fb.com> wrote:

> The flow control language in the draft is a bit confusing right now, and I
> could use a bit more clarity on the intention
>
> For example in MAX_DATA and MAX_STREAM_DATA the data is defined as
>
> "A 64-bit unsigned integer indicating the maximum amount of data that can
> be sent on the entire connection, in units of 1024 octets. That is, the
> updated connection-level data limit is determined by multiplying the
> encoded value by 1024."
>
> This seems like it means that flow control is advertised in terms of
> number of bytes that you can send from that moment.
>

> However from the Flow control section:
>
> "A receiver sends MAX_DATA or MAX_STREAM_DATA frames to the sender to
> advertise additional credit by sending the absolute byte offset in the
> connection or stream which it is willing to receive."
>
> I think that we definitely mean offset here in both cases, i.e.
>
> MAX_DATA = sum of max offset of all streams that are allowed
>
> MAX_STREAM_DATA = max offset on a stream
>
>
> Yes, that's what the spec means.  I thought it was fairly clear, but if
you think it's confusing, a PR to improve the wording would be appreciated.


> Let's say the conn flow control limit of the receiver is 50. All units in
> multiples of 1024.
>
> initial state of receiver
> stream1 -->  [0, 10]
> stream2 -->  [0, 20]
>
> stream3 -->  [0, 20]
>
>
> So the sender has consumed his entire flow control window. Then the
> receiver consumes 10 (*1024) bytes from stream1:
>
> stream1 ---> (10, 10)
>
> stream2 ---> [0, 20]
>
> stream3 ---> [0, 20]
>
>
> so now the conn window has 10 (*1024) bytes remaining, what does the
> receiver send in their update:
>
>
> MAX_DATA = 10
>
> or
>
> MAX_DATA = 60
>
>
> I think we mean 60 here. It makes it much easier to maintain the flow
> control in that case.
>
>
> Subodh
>
>
>