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

Oleg Kalnichevski commented on HTTPCLIENT-1942:
-----------------------------------------------

I knew it was not going to be that easy.

{quote} The test for the [happy 
path|https://github.com/rschmitt/httpcomponents-core/commit/065118886993b05235fc793130ae5c0804d029b8#diff-1a8be7a218920e8829ad007c75de4f09R210]
 often hangs forever at {{Future#get}} (but it succeeds when it doesn't 
hang{quote}
That should not be happening. The future should get into a completed state no 
matter what.
{quote}The test for request errors also hangs forever at Future#get, and 
furthermore the exception in the request stream is translated into a GOAWAY 
frame instead of a RST_STREAM on the relevant request stream{quote} 
That depends on the exception type. If an exception is deemed severe enough to 
make the entire connection unreliable for all streams the protocol handler 
sends GOAWAY frame to the opposite endpoint. 
{quote}I've noticed that my ReactiveDataConsumer is called upon to buffer quite 
a bit of data before it ever signals that it has any capacity free. I have seen 
it required to buffer hundreds of kilobytes of data across dozens of 
consume(ByteBuffer) calls before it ever has a downstream subscriber who 
requests data. {quote}
This is perfectly valid as per HTTP/2 specification endpoints must be able to 
process the amount of data defined by the initial window setting before they 
can update the capacity.

> Add support for Reactive Streams
> --------------------------------
>
>                 Key: HTTPCLIENT-1942
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1942
>             Project: HttpComponents HttpClient
>          Issue Type: Wish
>          Components: HttpClient (async)
>    Affects Versions: 5.0 Beta1
>            Reporter: Ryan Schmitt
>            Priority: Major
>              Labels: stuck, volunteers-wanted
>             Fix For: Future
>
>
> It would be very helpful to me if the Apache client provided an 
> implementation of the [Reactive Streams|http://www.reactive-streams.org/] 
> spec, particularly as an implementation of the standard 
> [interfaces|https://search.maven.org/artifact/org.reactivestreams/reactive-streams/1.0.2/jar].
>  These interfaces are JDK6-compatible and have no other dependencies, but 
> they unlock interoperability with many other frameworks, such as RxJava.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to