de.vxart.io
Class ThrottledInputStream
java.lang.Object
java.io.InputStream
java.io.FilterInputStream
de.vxart.io.ThrottledInputStream
- All Implemented Interfaces:
- java.io.Closeable
public class ThrottledInputStream
- extends java.io.FilterInputStream
Provides a throttled InputStream which artificially slows down
data throughput by sleeping in the current thread.
- Author:
- Philipp Reichart, philipp.reichart@vxart.de
Constructor Summary |
ThrottledInputStream(java.io.InputStream in,
long bytesPerSecond)
Wraps the given InputStream while throttling the reading speed
to the specified number of bytes per second. |
Method Summary |
int |
read()
|
int |
read(byte[] b)
|
int |
read(byte[] b,
int off,
int len)
|
long |
skip(long n)
|
Methods inherited from class java.io.FilterInputStream |
available, close, mark, markSupported, reset |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ThrottledInputStream
public ThrottledInputStream(java.io.InputStream in,
long bytesPerSecond)
- Wraps the given InputStream while throttling the reading speed
to the specified number of bytes per second.
This class might cause timeouts on network connections
when too much throttling is used.
- Parameters:
in
- the stream to throttle reading frombytesPerSecond
- the maximum speed in bytes per second
read
public int read()
throws java.io.IOException
- Overrides:
read
in class java.io.FilterInputStream
- Throws:
java.io.IOException
read
public int read(byte[] b,
int off,
int len)
throws java.io.IOException
- Overrides:
read
in class java.io.FilterInputStream
- Throws:
java.io.IOException
read
public int read(byte[] b)
throws java.io.IOException
- Overrides:
read
in class java.io.FilterInputStream
- Throws:
java.io.IOException
skip
public long skip(long n)
throws java.io.IOException
- Overrides:
skip
in class java.io.FilterInputStream
- Throws:
java.io.IOException