Re: [quicwg/base-drafts] Define stream limits as counts (#1906)
Marten Seemann <notifications@github.com> Thu, 25 October 2018 03:24 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 1ADBF130E14 for <quic-issues@ietfa.amsl.com>; Wed, 24 Oct 2018 20:24:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.47
X-Spam-Level:
X-Spam-Status: No, score=-8.47 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.47, 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] 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 lqOVUevZM5AM for <quic-issues@ietfa.amsl.com>; Wed, 24 Oct 2018 20:23:58 -0700 (PDT)
Received: from out-5.smtp.github.com (out-5.smtp.github.com [192.30.252.196]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CB2C612F18C for <quic-issues@ietf.org>; Wed, 24 Oct 2018 20:23:57 -0700 (PDT)
Date: Wed, 24 Oct 2018 20:23:57 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1540437837; bh=YuYKxxlrer/68jQyiQrf+pg6traBmbBfCWx6xENNIr0=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=l4a0CxvG4e8eXlnJqkKYLeVXu2ihG54NsXZcfuNYoD1Jxe+WjFfBB2GsrfyupnXL7 U41c0UzudGsJVbdGyh0GqtmRn72iXpOybhRD4fwBVoL4moF5R9mjZdgHKND1d8BKGY c7W4s6PgSso9GAzEcUErZAwbVvlM1Nzxg5YouiMY=
From: Marten Seemann <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab61d884b32753a2f7dfb2d4ab9662e42886b2f22192cf0000000117e8f94d92a169ce1646c612@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/1906/review/168195382@github.com>
In-Reply-To: <quicwg/base-drafts/pull/1906@github.com>
References: <quicwg/base-drafts/pull/1906@github.com>
Subject: Re: [quicwg/base-drafts] Define stream limits as counts (#1906)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5bd1374d736f_54383fed36cd45c0475540"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: marten-seemann
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/s7ZEWvT55JAD3DIcZJYNrn4Famk>
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: Thu, 25 Oct 2018 03:24:00 -0000
marten-seemann approved this pull request. > : The initial maximum bidirectional streams parameter contains the initial maximum number of bidirectional streams the peer may initiate, encoded as an unsigned 16-bit integer. If this parameter is absent or zero, bidirectional - streams cannot be created until a MAX_STREAM_ID frame is sent. Setting this - parameter is equivalent to sending a MAX_STREAM_ID ({{frame-max-stream-id}}) - immediately after completing the handshake containing the corresponding Stream - ID. For example, a value of 0x05 would be equivalent to receiving a - MAX_STREAM_ID containing 16 when received by a client or 17 when received by a - server. + streams cannot be created until a MAX_STREAMS frame is sent. Setting this what about: s/streams cannot be created/the peer cannot open bidirectional streams/ > : The initial maximum unidirectional streams parameter contains the initial maximum number of unidirectional streams the peer may initiate, encoded as an unsigned 16-bit integer. If this parameter is absent or zero, unidirectional - streams cannot be created until a MAX_STREAM_ID frame is sent. Setting this - parameter is equivalent to sending a MAX_STREAM_ID ({{frame-max-stream-id}}) - immediately after completing the handshake containing the corresponding Stream - ID. For example, a value of 0x05 would be equivalent to receiving a - MAX_STREAM_ID containing 18 when received by a client or 19 when received by a - server. + streams cannot be created until a MAX_STREAMS frame is sent. Setting this same here > -The MAX_STREAM_ID frame (type=0x06) informs the peer of the maximum stream ID -that they are permitted to open. +The MAX_STREAMS frame (type=0x1c and 0x1d) informs the peer of the number of +streams they are permitted to open. A MAX_STREAMS frame with a type of 0x1c s/they are/it is/ > -A peer MUST NOT initiate a stream with a higher stream ID than the greatest -maximum stream ID it has received. An endpoint MUST terminate a connection with -a STREAM_ID_ERROR error if a peer initiates a stream with a higher stream ID -than it has sent, unless this is a result of a change in the initial limits (see -{{zerortt-parameters}}). +A peer MUST NOT initiate a stream with a higher stream ID than the largest limit +it has received permits. For instance, a server that receives a unidirectional +stream limit of 4 is permitted to open stream 15, but not stream 19. An Maybe it's clearer if we enumerate the streams, e.g. "... is permitted to open streams 3, 7, 11 and 15, but not stream 19". > : The initial maximum bidirectional streams parameter contains the initial maximum number of bidirectional streams the peer may initiate, encoded as an unsigned 16-bit integer. If this parameter is absent or zero, bidirectional - streams cannot be created until a MAX_STREAM_ID frame is sent. Setting this - parameter is equivalent to sending a MAX_STREAM_ID ({{frame-max-stream-id}}) - immediately after completing the handshake containing the corresponding Stream - ID. For example, a value of 0x05 would be equivalent to receiving a - MAX_STREAM_ID containing 16 when received by a client or 17 when received by a - server. + streams cannot be created until a MAX_STREAMS frame is sent. Setting this + parameter is equivalent to sending a MAX_STREAMS ({{frame-max-streams}}) of + the corresponding type immediately after completing the handshake. Since you removed the example for the encoding here, should we say "equivalent to sending a MAX_STREAMS of the corresponding type with the same value..."? > : A variable-length integer indicating the offset of the stream at which the blocking occurred. -## STREAM_ID_BLOCKED Frame {#frame-stream-id-blocked} +## STREAMS_BLOCKED Frame {#frame-streams-blocked} + +A sender SHOULD send a STREAMS_BLOCKED frame (type=0x1e or 0x1f) when it wishes +to open a stream, but is unable to due to the maximum stream ID limit set by its +peer (see {{frame-max-streams}}). A STREAMS_BLOCKED frame of type 0x1e +indicates a problem with the limit on bidirectional streams; a STREAMS_BLOCKED s/a problem with the limit on/reaching the limit of/g -- 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/1906#pullrequestreview-168195382
- [quicwg/base-drafts] Define stream limits as coun… Martin Thomson
- Re: [quicwg/base-drafts] Define stream limits as … Kazuho Oku
- Re: [quicwg/base-drafts] Define stream limits as … Martin Thomson
- Re: [quicwg/base-drafts] Define stream limits as … Martin Thomson
- Re: [quicwg/base-drafts] Define stream limits as … Marten Seemann
- Re: [quicwg/base-drafts] Define stream limits as … MikkelFJ
- Re: [quicwg/base-drafts] Define stream limits as … Nick Banks
- Re: [quicwg/base-drafts] Define stream limits as … ianswett
- Re: [quicwg/base-drafts] Define stream limits as … ianswett
- Re: [quicwg/base-drafts] Define stream limits as … ianswett
- Re: [quicwg/base-drafts] Define stream limits as … Kazuho Oku
- Re: [quicwg/base-drafts] Define stream limits as … Ryan Hamilton
- Re: [quicwg/base-drafts] Define stream limits as … Martin Thomson
- Re: [quicwg/base-drafts] Define stream limits as … Martin Thomson
- Re: [quicwg/base-drafts] Define stream limits as … MikkelFJ
- Re: [quicwg/base-drafts] Define stream limits as … Mike Bishop
- Re: [quicwg/base-drafts] Define stream limits as … Mike Bishop
- Re: [quicwg/base-drafts] Define stream limits as … Martin Thomson
- Re: [quicwg/base-drafts] Define stream limits as … Martin Thomson
- Re: [quicwg/base-drafts] Define stream limits as … Martin Thomson
- Re: [quicwg/base-drafts] Define stream limits as … Martin Thomson
- Re: [quicwg/base-drafts] Define stream limits as … janaiyengar
- Re: [quicwg/base-drafts] Define stream limits as … janaiyengar
- Re: [quicwg/base-drafts] Define stream limits as … Martin Thomson
- Re: [quicwg/base-drafts] Define stream limits as … Martin Thomson
- Re: [quicwg/base-drafts] Define stream limits as … Martin Thomson
- Re: [quicwg/base-drafts] Define stream limits as … Martin Thomson
- Re: [quicwg/base-drafts] Define stream limits as … ianswett
- Re: [quicwg/base-drafts] Define stream limits as … ianswett
- Re: [quicwg/base-drafts] Define stream limits as … ianswett
- Re: [quicwg/base-drafts] Define stream limits as … ianswett
- Re: [quicwg/base-drafts] Define stream limits as … Martin Thomson
- Re: [quicwg/base-drafts] Define stream limits as … Martin Thomson
- Re: [quicwg/base-drafts] Define stream limits as … Martin Thomson
- Re: [quicwg/base-drafts] Define stream limits as … ianswett
- Re: [quicwg/base-drafts] Define stream limits as … Ryan Hamilton
- Re: [quicwg/base-drafts] Define stream limits as … Marten Seemann
- Re: [quicwg/base-drafts] Define stream limits as … Martin Thomson