[
https://issues.apache.org/jira/browse/HTTPCORE-701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17450021#comment-17450021
]
Oleg Kalnichevski commented on HTTPCORE-701:
--------------------------------------------
[~StoneCity] What needs to be removed is this bit, not the line below it
{code:java}
//TODO: work-around for what looks like a bug in Ngnix (1.11)
// Tolerate if the update window exceeded by one
if (newValue == 0x80000000L) {
newValue = Integer.MAX_VALUE;
}
//TODO: needs to be removed
{code}
What kind of improvement are you proposing?
Oleg
> A little confuse for the H2 update window function
> --------------------------------------------------
>
> Key: HTTPCORE-701
> URL: https://issues.apache.org/jira/browse/HTTPCORE-701
> Project: HttpComponents HttpCore
> Issue Type: Improvement
> Components: HttpCore
> Affects Versions: 5.1
> Reporter: Kaven Stone
> Priority: Trivial
>
> I just read the update window logic for http2, and the function is a little
> confuse for me.
> # for the two TODO: The first TODO, it revert the min value as to the the
> max value, this if for what situation?
> # The seconde TODO: needs to be removed , and that will remove what?
>
> The soure code in
> httpcore5-h2\src\main\java\org\apache\hc\core5\http2\impl\nio\AbstractH2StreamMultiplexer.java
> is as below:
> private int updateWindow(final AtomicInteger window, final int delta) throws
> ArithmeticException {
> for (;;) {
> final int current = window.get();
> long newValue = (long) current + delta;
> //TODO: work-around for what looks like a bug in Ngnix (1.11)
> // Tolerate if the update window exceeded by one
> if (newValue == 0x80000000L)
> { newValue = Integer.MAX_VALUE; }
> //TODO: needs to be removed
> if (Math.abs(newValue) > 0x7fffffffL)
> { throw new ArithmeticException("Update causes flow control window to exceed
> " + Integer.MAX_VALUE); }
> if (window.compareAndSet(current, (int) newValue))
> { return (int) newValue; }
> }
> }
>
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]