@InterfaceAudience.Private public class ThrottledInputStream extends InputStream
| Modifier and Type | Field and Description |
|---|---|
private long |
bytesRead |
private long |
maxBytesPerSec |
private InputStream |
rawStream |
private static long |
SLEEP_DURATION_MS |
private long |
startTime |
private long |
totalSleepTime |
| Constructor and Description |
|---|
ThrottledInputStream(InputStream rawStream) |
ThrottledInputStream(InputStream rawStream,
long maxBytesPerSec) |
| Modifier and Type | Method and Description |
|---|---|
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
private static final long SLEEP_DURATION_MS
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 void throttle()
throws IOException
IOExceptionpublic long getTotalBytesRead()
public long getBytesPerSec()
public long getTotalSleepTime()
Copyright © 2007–2019 The Apache Software Foundation. All rights reserved.