@InterfaceAudience.Private public class ThrottledInputStream extends InputStream
| Modifier and Type | Field and Description |
|---|---|
private long |
bytesRead |
private long |
maxBytesPerSec |
private InputStream |
rawStream |
private long |
startTime |
private long |
totalSleepTime |
| Constructor and Description |
|---|
ThrottledInputStream(InputStream rawStream) |
ThrottledInputStream(InputStream rawStream,
long maxBytesPerSec) |
| Modifier and Type | Method and Description |
|---|---|
private long |
calSleepTimeMs() |
(package private) static long |
calSleepTimeMs(long bytesRead,
long maxBytesPerSec,
long elapsed) |
void |
close() |
long |
getBytesPerSec()
Getter for the read-rate from this stream, since creation.
|
long |
getTotalBytesRead()
Getter for the number of bytes read from this stream, since creation.
|
long |
getTotalSleepTime()
Getter the total time spent in sleep.
|
int |
read() |
int |
read(byte[] b) |
int |
read(byte[] b,
int off,
int len) |
int |
read(long position,
byte[] buffer,
int offset,
int length)
Read bytes starting from the specified position.
|
private void |
throttle() |
String |
toString() |
available, mark, markSupported, reset, skipprivate final InputStream rawStream
private final long maxBytesPerSec
private final long startTime
private long bytesRead
private long totalSleepTime
public ThrottledInputStream(InputStream rawStream)
public ThrottledInputStream(InputStream rawStream, long maxBytesPerSec)
public void close() throws IOException
close in interface Closeableclose in interface AutoCloseableclose in class InputStreamIOExceptionpublic int read() throws IOException
read in class InputStreamIOExceptionpublic int read(byte[] b) throws IOException
read in class InputStreamIOExceptionpublic int read(byte[] b, int off, int len) throws IOException
read in class InputStreamIOExceptionpublic int read(long position, byte[] buffer, int offset, int length) throws IOException
PositionedReadable.position - buffer - offset - length - IOExceptionprivate long calSleepTimeMs()
static long calSleepTimeMs(long bytesRead, long maxBytesPerSec, long elapsed)
private void throttle() throws InterruptedIOException
InterruptedIOExceptionpublic long getTotalBytesRead()
public long getBytesPerSec()
public long getTotalSleepTime()
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.