[quicwg/base-drafts] 005ac3: Crisp definition of BLOCKING and friends

Martin Thomson <martin.thomson@gmail.com> Fri, 19 October 2018 04:30 UTC

Return-Path: <bounce+565321.40f-quic-issues=ietf.org@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 58EF5129385 for <quic-issues@ietfa.amsl.com>; Thu, 18 Oct 2018 21:30:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.498
X-Spam-Level:
X-Spam-Status: No, score=-0.498 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_ADSP_CUSTOM_MED=0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.25, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, NML_ADSP_CUSTOM_MED=0.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no 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 6XYgwqVH3Arw for <quic-issues@ietfa.amsl.com>; Thu, 18 Oct 2018 21:30:10 -0700 (PDT)
Received: from m69-170.mailgun.net (m69-170.mailgun.net [166.78.69.170]) (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 2F54B1200D7 for <quic-issues@ietf.org>; Thu, 18 Oct 2018 21:30:09 -0700 (PDT)
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=github.com; q=dns/txt; s=mailo; t=1539923409; h=Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Message-ID: To: Reply-To: From: Date: Sender; bh=JtM7xVFOGg07wf3HLcz/ntgfWqFVAIHX/BEPHPy9AtA=; b=x+3rQEW8xEelEIlUvolENz0Id2XwRuS44Tgeck4GGrJj+o4im5oJSmhlLTUpTHY0j3FtYlky 57/BkJ9HbDH4w5zh5R55zNeR9t9rQ961sFzNNtBkzzEmFSMpz/eX4ISkse8XRaHGS50CyIj+ TZIuRuaMNZtL82kFNCEeryAvqig=
X-Mailgun-Sending-Ip: 166.78.69.170
X-Mailgun-Sid: WyJhNzYyYiIsICJxdWljLWlzc3Vlc0BpZXRmLm9yZyIsICI0MGYiXQ==
Sender: martin.thomson=gmail.com@github.com
Received: from github.com (Unknown [192.30.252.34]) by mxa.mailgun.org with ESMTP id 5bc95dd1.7f3eb90eccc0-smtp-out-n01; Fri, 19 Oct 2018 04:30:09 -0000 (UTC)
Date: Thu, 18 Oct 2018 21:30:08 -0700
From: Martin Thomson <martin.thomson@gmail.com>
Reply-To: Martin Thomson <martin.thomson@gmail.com>
To: quic-issues@ietf.org
Message-ID: <5bc95dd0369ab_a622b1dd0f00578907b@hookshot-fe-88eb02d.cp1-iad.github.net.mail>
Subject: [quicwg/base-drafts] 005ac3: Crisp definition of BLOCKING and friends
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="--==_mimepart_5bc95dd036408_a622b1dd0f005788944"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/m4DsbAjzrD0OwApkAjGOrX0ZQ_c>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
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: Fri, 19 Oct 2018 04:30:11 -0000

  Branch: refs/heads/define-blocking-values
  Home:   https://github.com/quicwg/base-drafts
  Commit: 005ac34fbfb23d47bab46ae8c897a0429284f778
      https://github.com/quicwg/base-drafts/commit/005ac34fbfb23d47bab46ae8c897a0429284f778
  Author: Martin Thomson <martin.thomson@gmail.com>
  Date:   2018-10-19 (Fri, 19 Oct 2018)

  Changed paths:
    M draft-ietf-quic-transport.md

  Log Message:
  -----------
  Crisp definition of BLOCKING and friends

Recent discussion around the use of BLOCKING frames highlighted some
inconsistency - and even disagreement - about what the purpose of the
frames are.  If you read through all the text for the flow
control-related frames, it is clear that the frame carries the *limit*
at the time the frame is sent.

> These frames always include the limit that is causing blocking at the
> time that they are transmitted.

This enacts that change more consistently, especially for
STREAM_ID_BLOCKED, which was the most unclear.

The discussion on #1851 suggested that there was value in knowing what
the sender (or stream opener) wanted to get to.  That is, the frames
would carry a higher value.  If the limit was X and the sender wanted to
send octet X+Y (or open stream X+Y), they would convey that information
instead.  The theory here is that the larger value (X+Y) would be sent,
allowing the receiver to make those resources available.

The problem with this alternative approach is that the value advertised
changes over time and it is difficult to connect the signal (a BLOCKED
frame), with the limit that was in force at the time.

I suspect that there is value in signaling the desired limits as well,
but that would require greater justification.  It also entails a change
and I'm leery of feature creep at this stage.

Closes #1851, #1850.



      **NOTE:** This service has been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.