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 543B8120129
 for <quic-issues@ietfa.amsl.com>; Thu,  3 Oct 2019 09:08:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.898
X-Spam-Level: 
X-Spam-Status: No, score=-7.898 tagged_above=-999 required=5
 tests=[BAYES_00=-1.9, HTML_IMAGE_ONLY_32=0.001, 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
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 deyeMfC3yoWh for <quic-issues@ietfa.amsl.com>;
 Thu,  3 Oct 2019 09:08:39 -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 D280A1200DF
 for <quic-issues@ietf.org>; Thu,  3 Oct 2019 09:08:38 -0700 (PDT)
Received: from github-lowworker-2ef7ba1.ac4-iad.github.net
 (github-lowworker-2ef7ba1.ac4-iad.github.net [10.52.16.66])
 by smtp.github.com (Postfix) with ESMTP id 3B0339609DE
 for <quic-issues@ietf.org>; Thu,  3 Oct 2019 09:08:38 -0700 (PDT)
Date: Thu, 03 Oct 2019 09:08:38 -0700
From: afrind <notifications@github.com>
Reply-To: quicwg/base-drafts
 <reply+AFTOJK3GGFIXBRRR7J2HKXN3UNOZNEVBNHHB3ZDAFY@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/3073/538012823@github.com>
In-Reply-To: <quicwg/base-drafts/issues/3073@github.com>
References: <quicwg/base-drafts/issues/3073@github.com>
Subject: Re: [quicwg/base-drafts] Boolean blocked streams setting (#3073)
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_5d961d062c4ce_2b9d3faff62cd9642334f9";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: afrind
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/5gTyPplb3LCZim4XX_Czjp_6OSY>
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, 03 Oct 2019 16:08:40 -0000


----==_mimepart_5d961d062c4ce_2b9d3faff62cd9642334f9
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit

I didn't find the numeric setting significantly more complicated to implement than a boolean setting.  The [diff](https://github.com/facebook/proxygen/commit/09cb1304fb52149b7343f9f22d44ed3efa130840#diff-cde3cb3125e1e0b319d8264cb67c7de8) that converted it from a boolean to a number touched about 25 lines of code in the encoder.  I find that the bigger complexity comes from having the implementation allow both blocking and non-blocking.

proxygen uses the count, which is incremented when sending a header block with a potentially blocking reference and decremented on acks and cancellations.  I don't decrement the count on Insert Count Increment, and I count multiple potentially blocking blocks on the same stream individually.  Both of these make the implementation more conservative than necessary, but the code is pretty simple.

As for a use case, lately I've been working with our RPC over HTTP stack, which generally sets the stream limit in the 100k range.  There's more of a case to be made for keeping the QPACK blocking limit lower than the stream limit when you've got a bonkers stream limit.  When the stream limit is 100 or something else webish, 10 vs. 50 vs 100 doesn't seem super meaningful.

-- 
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/issues/3073#issuecomment-538012823
----==_mimepart_5d961d062c4ce_2b9d3faff62cd9642334f9
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: 7bit

<p>I didn't find the numeric setting significantly more complicated to implement than a boolean setting.  The <a href="https://github.com/facebook/proxygen/commit/09cb1304fb52149b7343f9f22d44ed3efa130840#diff-cde3cb3125e1e0b319d8264cb67c7de8">diff</a> that converted it from a boolean to a number touched about 25 lines of code in the encoder.  I find that the bigger complexity comes from having the implementation allow both blocking and non-blocking.</p>
<p>proxygen uses the count, which is incremented when sending a header block with a potentially blocking reference and decremented on acks and cancellations.  I don't decrement the count on Insert Count Increment, and I count multiple potentially blocking blocks on the same stream individually.  Both of these make the implementation more conservative than necessary, but the code is pretty simple.</p>
<p>As for a use case, lately I've been working with our RPC over HTTP stack, which generally sets the stream limit in the 100k range.  There's more of a case to be made for keeping the QPACK blocking limit lower than the stream limit when you've got a bonkers stream limit.  When the stream limit is 100 or something else webish, 10 vs. 50 vs 100 doesn't seem super meaningful.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">&mdash;<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/quicwg/base-drafts/issues/3073?email_source=notifications&amp;email_token=AFTOJK6V25N3IP37DSWBI7DQMYKINA5CNFSM4I4WWAH2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAIWZFY#issuecomment-538012823">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AFTOJK5DHXMZGWQM6D5EEVLQMYKINANCNFSM4I4WWAHQ">mute the thread</a>.<img src="https://github.com/notifications/beacon/AFTOJKYJQRPAW723SAEHBCLQMYKINA5CNFSM4I4WWAH2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAIWZFY.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/quicwg/base-drafts/issues/3073?email_source=notifications\u0026email_token=AFTOJK6V25N3IP37DSWBI7DQMYKINA5CNFSM4I4WWAH2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAIWZFY#issuecomment-538012823",
"url": "https://github.com/quicwg/base-drafts/issues/3073?email_source=notifications\u0026email_token=AFTOJK6V25N3IP37DSWBI7DQMYKINA5CNFSM4I4WWAH2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAIWZFY#issuecomment-538012823",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>
----==_mimepart_5d961d062c4ce_2b9d3faff62cd9642334f9--

