Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi Andrew
I analyzed the issue as described in the JIRA. Personally, I don't believe that this is really an issue. The current behavior is that in case of an empty stream an empty descriptor is returned. TO remote the available() call would break this concept and introduce big error handling on the user side.
The javadoc says:
... It is never correct to use the return value of this method to allocate a buffer
intended to hold all data in this stream. ...
The point is that the implementation doesn't allocate buffer at all. Googling around indicates that a solution is to use the PushpackInputStream, which is a real implementation instead of the abstract inputstream.
I implemented a simple solution by using this concrete InputStream class. In my opinion, we have two options:
Regards,
Ralf