public final class RateLimitedIndexOutput extends IndexOutput
| Modifier and Type | Field and Description |
|---|---|
private long |
bytesSinceLastPause
How many bytes we've written since we last called rateLimiter.pause.
|
private long |
currentMinPauseCheckBytes
Cached here not not always have to call RateLimiter#getMinPauseCheckBytes()
which does volatile read.
|
private IndexOutput |
delegate |
private RateLimiter |
rateLimiter |
| Constructor and Description |
|---|
RateLimitedIndexOutput(RateLimiter rateLimiter,
IndexOutput delegate) |
| Modifier and Type | Method and Description |
|---|---|
private void |
checkRate() |
void |
close()
Closes this stream to further operations.
|
long |
getChecksum()
Returns the current checksum of bytes written so far
|
long |
getFilePointer()
Returns the current position in this file, where the next write will
occur.
|
void |
writeByte(byte b)
Writes a single byte.
|
void |
writeBytes(byte[] b,
int offset,
int length)
Writes an array of bytes.
|
getName, toStringcopyBytes, writeBytes, writeInt, writeLong, writeMapOfStrings, writeSetOfStrings, writeShort, writeString, writeVInt, writeVLong, writeZInt, writeZLongprivate final IndexOutput delegate
private final RateLimiter rateLimiter
private long bytesSinceLastPause
private long currentMinPauseCheckBytes
public RateLimitedIndexOutput(RateLimiter rateLimiter, IndexOutput delegate)
public void close()
throws java.io.IOException
IndexOutputclose in interface java.io.Closeableclose in interface java.lang.AutoCloseableclose in class IndexOutputjava.io.IOExceptionpublic long getFilePointer()
IndexOutputgetFilePointer in class IndexOutputpublic long getChecksum()
throws java.io.IOException
IndexOutputgetChecksum in class IndexOutputjava.io.IOExceptionpublic void writeByte(byte b)
throws java.io.IOException
DataOutputThe most primitive data type is an eight-bit byte. Files are accessed as sequences of bytes. All other data types are defined as sequences of bytes, so file formats are byte-order independent.
writeByte in class DataOutputjava.io.IOExceptionDataInput.readByte()public void writeBytes(byte[] b,
int offset,
int length)
throws java.io.IOException
DataOutputwriteBytes in class DataOutputb - the bytes to writeoffset - the offset in the byte arraylength - the number of bytes to writejava.io.IOExceptionDataInput.readBytes(byte[],int,int)private void checkRate()
throws java.io.IOException
java.io.IOException