InputStream socketInputStream = socket.getInputStream();
inputStream = new BandwidthCountingInputStream(socketInputStream, 5, TimeUnit.SECONDS);
byte[] buffer = new byte[65536];
- while (isRunning()) {
+ while (isRunning() && ((size == -1) || (progress < size))) {
int r = inputStream.read(buffer);
if (r == -1) {
/* yay, eof! */