-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Mark,

On 5/30/19 08:39, ma...@apache.org wrote:
> This is an automated email from the ASF dual-hosted git
> repository.
> 
> markt pushed a commit to branch master in repository
> https://gitbox.apache.org/repos/asf/tomcat.git
> 
> 
> The following commit(s) were added to refs/heads/master by this
> push: new 0bebe66  Additional h2 concurrency / timeout fix 0bebe66
> is described below
> 
> commit 0bebe66d921072a3423cece63f3c2f8787d0342c Author: Mark Thomas
> <ma...@apache.org> AuthorDate: Thu May 30 13:39:05 2019 +0100
> 
> Additional h2 concurrency / timeout fix --- 
> .../apache/coyote/http2/Http2UpgradeHandler.java   | 37
> ++++++++++++++++++---- 1 file changed, 30 insertions(+), 7
> deletions(-)
> 
> diff --git a/java/org/apache/coyote/http2/Http2UpgradeHandler.java
> b/java/org/apache/coyote/http2/Http2UpgradeHandler.java index
> 880d365..4ecb642 100644 ---
> a/java/org/apache/coyote/http2/Http2UpgradeHandler.java +++
> b/java/org/apache/coyote/http2/Http2UpgradeHandler.java @@ -133,6
> +133,24 @@ class Http2UpgradeHandler extends AbstractStream
> implements InternalHttpUpgradeH private final PingManager
> pingManager = getPingManager(); private volatile int
> newStreamsSinceLastPrune = 0; // Tracking for when the connection
> is blocked (windowSize < 1) +    // The int array must have 3
> elements. There are: +    //   [0] - The number of bytes the Stream
> requires from the connection +    //         window. This excludes
> any allocation that has already been made. +    //   [1] - The
> number of bytes that has been allocated from the connection +    //
> window. This excludes any bytes that have been written since the +
> //         allocation was made. +    //   [2] - 1 if the stream
> thread has been notified that an allocation has +    //
> been made but has not yet consumed that allocation. 0 in all +
> //         other cases. The purpose of this is to avoid the
> incorrect +    //         triggering of a timeout for the following
> sequence of events: +    //         window update 1 +    //
> allocation 1 +    //         notify 1 +    //         window update
> 2 +    //         allocation 2 +    //         act on notify 1
> (using allocation 1 and 2) +    //         notify 2 +    //
> act on notify 2 (timeout due to no allocation)

Maybe it's time for a real class instead of an int array that requires
a half-page of documentation. We may still require the half-page of
documentation, but using an int[] here seems like less and less of a
good idea.

Binding the documentation to a class would be more readable,
especially in an IDE where you can get javadoc for a method / class
easily without even opening the file.

- -chris
-----BEGIN PGP SIGNATURE-----
Comment: Using GnuPG with Thunderbird - https://www.enigmail.net/

iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAlzwHnQACgkQHPApP6U8
pFilmw//eEpyj/Qu649nCxI+k3pFdoCXNedUgONW+Yy7MbMCGNT1IUgAH0I6CBqM
j8YGcv+cvVTmnPJT0M+KtV+j0F+fBZhHsHo00NjGrcP6GEGItpihq1QyLecJ6+gJ
yLRujdOKj8ij9w9pRJ50XcHlksKEEUOaU/Ou1AMnZ0OlHXjHAB7zSRnqKvYMbVmJ
ZrD3nzlJYP70CSUJYYJZTpLAeWTwFe50xbqHl7mvp2H1iWRj+Zdqbs5hUEg6AyTC
K+tGHWKlvHYlneRSTSBCm1MvDKLRpgzwyrKRViiSGnCG4C2QETExPWSPM0Ylz/fW
X/7kIhxOXVQsfDkjyt0Zl+r/u1U18m1UIEEndaTW/uOq0yoeWWeqqfHt+28gmbLK
RKcejI4sfQKvC4HC207h/nyzmqz0SwerzJKxd7NuXIlhozQ+jYxw33iHoqZI7eYJ
zQBYEIp4YgpqkvO3mzJN8NX4LsN+mSRj/Gxy/qoVEPdKNT9UqgFpzKTfwa/1W5ib
rjdlbjZvuNn7bCq6UXHlU3ceBSnWoj/uCiK1RDIrNdSWfx/G6vRLREyI8DHh8bE6
bn79WhAIOLISmZPyJraFRxHcTAzb7nncYH0vnymPPXmZBV85jd2O58RCCmSqr5dA
OyAOk1hwFlo99+aXR+a4R8IhC7cdk/InDAvDRRQzOpTdAD0sisM=
=ZpwO
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to