[ 
https://issues.apache.org/jira/browse/HTTPCORE-701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17450364#comment-17450364
 ] 

Oleg Kalnichevski commented on HTTPCORE-701:
--------------------------------------------

[~StoneCity] That hack cannot be removed without breaking compatibility with 
Ngnix. Someone should get in touch with Ngnix folks and ask them to fix the 
issue on their end first. Volunteers are welcome.

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]

Reply via email to