diff --git a/router/java/src/net/i2p/router/transport/BandwidthLimitedInputStream.java b/router/java/src/net/i2p/router/transport/BandwidthLimitedInputStream.java index 0464386bf889f194ecff4879ef740cfd1103826e..ffd041019108e6ce92b4bd7ce942e56543fdd547 100644 --- a/router/java/src/net/i2p/router/transport/BandwidthLimitedInputStream.java +++ b/router/java/src/net/i2p/router/transport/BandwidthLimitedInputStream.java @@ -62,6 +62,8 @@ public class BandwidthLimitedInputStream extends FilterInputStream { public int read(byte dest[], int off, int len) throws IOException { int read = in.read(dest, off, len); + if (read == -1) return -1; + if (_pullFromOutbound) _currentRequest = _context.bandwidthLimiter().requestOutbound(read, _peerSource); else @@ -84,6 +86,7 @@ public class BandwidthLimitedInputStream extends FilterInputStream { } public long skip(long numBytes) throws IOException { long skip = in.skip(numBytes); + if (_pullFromOutbound) _currentRequest = _context.bandwidthLimiter().requestOutbound((int)skip, _peerSource); else