[ 
https://issues.apache.org/jira/browse/HTTPCORE-199?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Oleg Kalnichevski updated HTTPCORE-199:
---------------------------------------

    Fix Version/s: 4.1

Galder,

The contract of InputStream#available() is to return "the number of bytes that 
can be read (or skipped over) from this input stream without _blocking_ by the 
next caller of a method for this input stream". Therefore, it is perfectly 
legal to return 0, if the next invocation of #read method will cause the 
operation to block.

Basically InputStream#available() is utterly broken.

Anyway, please test the patch attached to this issue and let me know if that 
fixes the problem for you.

Oleg

> ContentInputStream does not implement InputStream.available
> -----------------------------------------------------------
>
>                 Key: HTTPCORE-199
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-199
>             Project: HttpComponents HttpCore
>          Issue Type: Bug
>          Components: HttpCore NIO
>    Affects Versions: 4.0.1
>            Reporter: Galder Zamarreno
>             Fix For: 4.1
>
>         Attachments: HTTPCORE-199.patch
>
>
> I'm having an issue with ContentInputStream because it does not
> override IS.available() method. Our client code is implemented in such
> way that available() is checked before creating a buffer so that a not
> too big buffer is created. Javadoc for IS.available says:
>     * <p> This method should be overridden by subclasses.
> Hence, ContentInputStream should be overriding it. However,
> ContentInputBuffer does to expose the necessary methods to be able
> calculate this but the implementations do have the possibility of
> calculating this, i.e. SimpleInputBuffer. Any chance of improving
> ContentInputBuffer API so that an available() method is added? If so,
> what would be the timeframe for it?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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

Reply via email to