## net.i2p.router.transport
Class BandwidthLimitedInputStream

    java.lang.Object
      java.io.InputStream
          java.io.FilterInputStream
              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`