EofSensorInputStreams available() always returns 0
--------------------------------------------------
Key: HTTPCLIENT-1004
URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1004
Project: HttpComponents HttpClient
Issue Type: Bug
Components: HttpClient
Affects Versions: 4.1 Alpha2
Environment: win 7 x64, netbeans 6.9.1, jdk6_21
Reporter: oliver z
i just wrote a little mp3 audio player which retrieves a stream and plays it.
to make sure the user does not play further than the song has been stored into
ram, i thought i just use the available() method from the class
EofSensorInputStream.
But this method always returns 0 (normal http connection), casting to a
ByteArrayInputStream would be nice, but thats not working... so i took a look
at the implementation of available():
http://www.docjar.com/html/api/org/apache/http/conn/EofSensorInputStream.java.html
165 @Override
166 public int available() throws IOException {
167 int a = 0; // not -1
168
169 if (isReadAllowed()) {
170 try {
171 a = wrappedStream.available();
172 // no checkEOF() here, available() can't trigger EOF
173 } catch (IOException ex) {
174 checkAbort();
175 throw ex;
176 }
177 }
178
179 return a;
180 }
wrappedStream is an InputStream, and InputStream says to available():
The available method for class InputStream always returns 0.
This method should be overridden by subclasses.
Im not sure if this is a bug or a feature request
Is there any other way how i can check how many bytes has been transfered into
ram?
--
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: [email protected]
For additional commands, e-mail: [email protected]