net.i2p.router.transport
Class BandwidthLimitedInputStream

java.lang.Object
  extended by java.io.InputStream
      extended by java.io.FilterInputStream
          extended by net.i2p.router.transport.BandwidthLimitedInputStream
All Implemented Interfaces:
java.io.Closeable

public class BandwidthLimitedInputStream
extends java.io.FilterInputStream


Field Summary
 
Fields inherited from class java.io.FilterInputStream
in
 
Constructor Summary
BandwidthLimitedInputStream(RouterContext context, java.io.InputStream source, RouterIdentity peer)
           
BandwidthLimitedInputStream(RouterContext context, java.io.InputStream source, RouterIdentity peer, boolean pullFromOutbound)
           
 
Method Summary
 void close()
           
 int read()
           
 int read(byte[] dest)
           
 int read(byte[] dest, int off, int len)
           
 long skip(long numBytes)
           
 
Methods inherited from class java.io.FilterInputStream
available, mark, markSupported, reset
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BandwidthLimitedInputStream

public BandwidthLimitedInputStream(RouterContext context,
                                   java.io.InputStream source,
                                   RouterIdentity peer)

BandwidthLimitedInputStream

public BandwidthLimitedInputStream(RouterContext context,
                                   java.io.InputStream source,
                                   RouterIdentity peer,
                                   boolean pullFromOutbound)
Parameters:
pullFromOutbound - even though this is an input stream, if this is true, use the context's outbound bandwidth limiter queue for delays
Method Detail

read

public int read()
         throws java.io.IOException
Overrides:
read in class java.io.FilterInputStream
Throws:
java.io.IOException

read

public int read(byte[] dest)
         throws java.io.IOException
Overrides:
read in class java.io.FilterInputStream
Throws:
java.io.IOException

read

public int read(byte[] dest,
                int off,
                int len)
         throws java.io.IOException
Overrides:
read in class java.io.FilterInputStream
Throws:
java.io.IOException

skip

public long skip(long numBytes)
          throws java.io.IOException
Overrides:
skip in class java.io.FilterInputStream
Throws:
java.io.IOException

close

public void close()
           throws java.io.IOException
Specified by:
close in interface java.io.Closeable
Overrides:
close in class java.io.FilterInputStream
Throws:
java.io.IOException