Re: [quicwg/base-drafts] Talk about concurrency in H3 vs. H2 (#3114)

Lucas Pardue <> Fri, 18 October 2019 18:41 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 50B951208C0 for <>; Fri, 18 Oct 2019 11:41:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -8
X-Spam-Status: No, score=-8 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id YyqVOfUEC1we for <>; Fri, 18 Oct 2019 11:41:03 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 3B1B8120811 for <>; Fri, 18 Oct 2019 11:41:03 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 7B1576E1478 for <>; Fri, 18 Oct 2019 11:41:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1571424062; bh=hJtRtZf23ATFdJ7gWVs8J1WpB3J89cVpsa+PqItoySo=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=PlkoZU1fMKPcFtDh6jz+rzM/pCdaBfwtGrEFOOJVgbDmOQ5OElGl/R2G6aprPssuD 6mOpcrRDGsxXe3YIhu35IAWJskWia06T6IKoooIf/u/kHKVJypEXlY+y/4gLg052D7 eLpZsePBeszasZpshEdjM8XenFanCmMzgplmHhFU=
Date: Fri, 18 Oct 2019 11:41:02 -0700
From: Lucas Pardue <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/pull/3114/review/>
In-Reply-To: <quicwg/base-drafts/pull/>
References: <quicwg/base-drafts/pull/>
Subject: Re: [quicwg/base-drafts] Talk about concurrency in H3 vs. H2 (#3114)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5daa073e6b06b_2dd63f937a8cd96026561"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: LPardue
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
Archived-At: <>
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 18 Oct 2019 18:41:06 -0000

LPardue commented on this pull request.

> @@ -1814,6 +1814,22 @@ considerations about exhaustion of stream identifier space apply, though the
 space is significantly larger such that it is likely that other limits in QUIC
 are reached first, such as the limit on the connection flow control window.
+In contrast to HTTP/2, stream concurrency in HTTP/3 is managed by QUIC.  QUIC
+considers a stream closed when all data has been received and sent data has been
+acknowledged by the peer.  HTTP/2 considers a stream closed when the frame
+containing the END_STREAM bit has been committed to the transport. As a result,
+the stream for an equivalent exchange will typically remain "active" for one
+additional round trip.  HTTP/3 servers might choose to permit a larger number of
+concurrent client-initiated bidirectional streams to achieve equivalent
+concurrency than were permitted in HTTP/2, depending on the expected usage
+Due to the presence of other unidirectional stream types, HTTP/3 does not rely
+exclusively on the number of concurrent unidirectional streams to control the
+number of concurrent pushes received by a client.  Instead, HTTP/3 clients use

number of concurrent in-flight pushes.  Instead, HTTP/3 clients use

Avoid the rabbit whole of received by client or sent by server.

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub: