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, toString
copyBytes, writeBytes, writeInt, writeLong, writeMapOfStrings, writeSetOfStrings, writeShort, writeString, writeVInt, writeVLong, writeZInt, writeZLong
private 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
IndexOutput
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in class IndexOutput
java.io.IOException
public long getFilePointer()
IndexOutput
getFilePointer
in class IndexOutput
public long getChecksum() throws java.io.IOException
IndexOutput
getChecksum
in class IndexOutput
java.io.IOException
public void writeByte(byte b) throws java.io.IOException
DataOutput
The 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 DataOutput
java.io.IOException
DataInput.readByte()
public void writeBytes(byte[] b, int offset, int length) throws java.io.IOException
DataOutput
writeBytes
in class DataOutput
b
- the bytes to writeoffset
- the offset in the byte arraylength
- the number of bytes to writejava.io.IOException
DataInput.readBytes(byte[],int,int)
private void checkRate() throws java.io.IOException
java.io.IOException