Re: [quicwg/base-drafts] Editorial suggestions on the Streams section (#2730)
Martin Thomson <notifications@github.com> Wed, 22 May 2019 13:00 UTC
Return-Path: <noreply@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 EAA8D120074 for <quic-issues@ietfa.amsl.com>; Wed, 22 May 2019 06:00:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.01
X-Spam-Level:
X-Spam-Status: No, score=-8.01 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_HI=-5, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01] 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 gV2j69zyd3we for <quic-issues@ietfa.amsl.com>; Wed, 22 May 2019 06:00:34 -0700 (PDT)
Received: from out-16.smtp.github.com (out-16.smtp.github.com [192.30.254.199]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AFBCF120046 for <quic-issues@ietf.org>; Wed, 22 May 2019 06:00:33 -0700 (PDT)
Date: Wed, 22 May 2019 06:00:32 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1558530033; bh=iBYSxKrUN4YF2ja4fN6gWY791fnFjLm0z8BJY9N2l+Q=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=TqC5Tbw7Iq8RXy1ebHDWfDRnmXB19Wq0tkcQ2aIzXJ33k5nVe/9vGm/z4kSiy8c3E lABaIIyCv2EUhMNPYVkCNy7wOLUDz+3qzo8ctz8LyrxqmiFpp6JOhEQHQE/he3IHH0 oc7LY/AaAAA3mSBXZHsYaFbibiimlX2DyB1VMJnQ=
From: Martin Thomson <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJKY2NDFWT74GHKNLHGV26J5HBEVBNHHBVGTFHY@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/2730/review/240607151@github.com>
In-Reply-To: <quicwg/base-drafts/pull/2730@github.com>
References: <quicwg/base-drafts/pull/2730@github.com>
Subject: Re: [quicwg/base-drafts] Editorial suggestions on the Streams section (#2730)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5ce547f0c3eb9_10ed3fcaef6cd9606183cb"; 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
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/-C_ZjoW62cZu8ueUKwe3Zd7ldj0>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
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, 22 May 2019 13:00:36 -0000
martinthomson requested changes on this pull request. A few comments, some of which are important enough to fix. > @@ -187,8 +187,9 @@ QUIC: QUIC packet: -: The smallest unit of QUIC that can be encapsulated in a UDP datagram. Multiple - QUIC packets can be encapsulated in a single UDP datagram. +: A complete processable payload with a packet type, encryption level and I don't understand this. I agree that the existing definition isn't good, but "payload" means something else. > @@ -244,8 +245,9 @@ x (*) ...: # Streams {#streams} Streams in QUIC provide a lightweight, ordered byte-stream abstraction to an -application. An alternative view of QUIC streams is as an elastic "message" -abstraction. +application. Streams can be unidirectional or bidirecational. An alternative +view of QUIC unidirectional streams is a "message" abstraction of unlimited +length. Streams aren't unlimited length. > @@ -543,9 +546,8 @@ MAX_STREAM_DATA frames, it only receives any retransmissions of stream data. Once all data for the stream has been received, the receiving part enters the "Data Recvd" state. This might happen as a result of receiving the same STREAM -frame that causes the transition to "Size Known". In this state, the endpoint -has all stream data. Any STREAM or STREAM_DATA_BLOCKED frames it receives for -the stream can be discarded. +frame that causes the transition to "Size Known". Any STREAM or +STREAM_DATA_BLOCKED frames it receives for the stream can be discarded. I realize here that the last sentence here, if taken out of context, might be misleading. > @@ -643,7 +645,7 @@ receiving application is no longer reading data it receives from the stream, but it is not a guarantee that incoming data will be ignored. STREAM frames received after sending STOP_SENDING are still counted toward -connection and stream flow control, even though these frames will be discarded +connection and stream flow control, even though these frames may be discarded ```suggestion connection and stream flow control, even though these frames can be discarded ``` I try to avoid lowercase 2119 > @@ -657,11 +659,6 @@ RESET_STREAM frame it sends, but MAY use any application error code. The endpoint that sends a STOP_SENDING frame MAY ignore the error code carried in any RESET_STREAM frame it receives. -If the STOP_SENDING frame is received on a stream that is already in the -"Data Sent" state, an endpoint that wishes to cease retransmission of -previously-sent STREAM frames on that stream MUST first send a RESET_STREAM -frame. Why? > @@ -734,9 +731,8 @@ used to check for flow control violations. A receiver might use a sum of bytes consumed on all streams to determine the maximum data limit to be advertised. A receiver can advertise a larger offset by sending MAX_STREAM_DATA or MAX_DATA -frames at any time during the connection. A receiver cannot renege on an -advertisement however. That is, once a receiver advertises an offset, it MAY -advertise a smaller offset, but this has no effect. +frames. That is, once a receiver advertises an offset, it MAY advertise a ```suggestion frames. Once a receiver advertises an offset, it MAY advertise a ``` > @@ -746,16 +742,15 @@ A sender MUST ignore any MAX_STREAM_DATA or MAX_DATA frames that do not increase flow control limits. If a sender runs out of flow control credit, it will be unable to send new data -and is considered blocked. A sender SHOULD send STREAM_DATA_BLOCKED or -DATA_BLOCKED frames to indicate it has data to write but is blocked by flow +and is considered blocked. A sender SHOULD send a single STREAM_DATA_BLOCKED or Are you attempting to imply that you don't retransmit the frames. ```suggestion and is considered blocked. A sender SHOULD send a STREAM_DATA_BLOCKED or ``` > @@ -797,10 +792,9 @@ been consumed, to avoid either exceeding flow control limits or deadlocking. On receipt of a RESET_STREAM frame, an endpoint will tear down state for the matching stream and ignore further data arriving on that stream. If a RESET_STREAM frame is reordered with stream data for the same stream, the -receiver's estimate of the number of bytes received on that stream can be lower -than the sender's estimate of the number sent. As a result, the two endpoints -could disagree on the number of bytes that count towards connection flow -control. +receiver's maximum total size on that stream can be lower than the +sender's total size. As a result, the two endpoints could disagree on +the number of bytes that count towards connection flow control. Maybe "Without the offset included in RESET_STREAM, the two endpoints could disagree..." > @@ -861,13 +855,12 @@ If either is received, the connection MUST be closed immediately with a connection error of type STREAM_LIMIT_ERROR (see {{immediate-close}}). Endpoints MUST NOT exceed the limit set by their peer. An endpoint that -receives a STREAM frame with a stream ID exceeding the limit it has sent MUST +receives a frame with a stream ID exceeding the limit it has sent MUST You are talking here about trying to include STREAM_BLOCKED and RESET_STREAM as well as STREAM? But by making it generic you might accidentally capture STOP_SENDING. -- 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/pull/2730#pullrequestreview-240607151
- [quicwg/base-drafts] Editorial suggestions on the… ianswett
- Re: [quicwg/base-drafts] Editorial suggestions on… Martin Thomson
- Re: [quicwg/base-drafts] Editorial suggestions on… ianswett
- Re: [quicwg/base-drafts] Editorial suggestions on… ianswett
- Re: [quicwg/base-drafts] Editorial suggestions on… ianswett
- Re: [quicwg/base-drafts] Editorial suggestions on… ianswett
- Re: [quicwg/base-drafts] Editorial suggestions on… MikkelFJ
- Re: [quicwg/base-drafts] Editorial suggestions on… MikkelFJ
- Re: [quicwg/base-drafts] Editorial suggestions on… MikkelFJ
- Re: [quicwg/base-drafts] Editorial suggestions on… Mike Bishop
- Re: [quicwg/base-drafts] Editorial suggestions on… Martin Thomson
- Re: [quicwg/base-drafts] Editorial suggestions on… ianswett
- Re: [quicwg/base-drafts] Editorial suggestions on… ianswett
- Re: [quicwg/base-drafts] Editorial suggestions on… ianswett
- Re: [quicwg/base-drafts] Editorial suggestions on… Mike Bishop
- Re: [quicwg/base-drafts] Editorial suggestions on… ianswett
- Re: [quicwg/base-drafts] Editorial suggestions on… ianswett
- Re: [quicwg/base-drafts] Editorial suggestions on… Martin Thomson
- Re: [quicwg/base-drafts] Editorial suggestions on… ianswett
- Re: [quicwg/base-drafts] Editorial suggestions on… Martin Thomson