Package org.apache.lucene.store
Class RateLimitedIndexOutput
- java.lang.Object
-
- org.apache.lucene.store.DataOutput
-
- org.apache.lucene.store.IndexOutput
-
- org.apache.lucene.store.RateLimitedIndexOutput
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
public final class RateLimitedIndexOutput extends IndexOutput
-
-
Field Summary
Fields Modifier and Type Field Description private longbytesSinceLastPauseHow many bytes we've written since we last called rateLimiter.pause.private longcurrentMinPauseCheckBytesCached here not not always have to call RateLimiter#getMinPauseCheckBytes() which does volatile read.private IndexOutputdelegateprivate RateLimiterrateLimiter
-
Constructor Summary
Constructors Constructor Description RateLimitedIndexOutput(RateLimiter rateLimiter, IndexOutput delegate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidcheckRate()voidclose()Closes this stream to further operations.longgetChecksum()Returns the current checksum of bytes written so farlonggetFilePointer()Returns the current position in this file, where the next write will occur.voidwriteByte(byte b)Writes a single byte.voidwriteBytes(byte[] b, int offset, int length)Writes an array of bytes.-
Methods inherited from class org.apache.lucene.store.IndexOutput
getName, toString
-
Methods inherited from class org.apache.lucene.store.DataOutput
copyBytes, writeBytes, writeInt, writeLong, writeMapOfStrings, writeSetOfStrings, writeShort, writeString, writeVInt, writeVLong, writeZInt, writeZLong
-
-
-
-
Field Detail
-
delegate
private final IndexOutput delegate
-
rateLimiter
private final RateLimiter rateLimiter
-
bytesSinceLastPause
private long bytesSinceLastPause
How many bytes we've written since we last called rateLimiter.pause.
-
currentMinPauseCheckBytes
private long currentMinPauseCheckBytes
Cached here not not always have to call RateLimiter#getMinPauseCheckBytes() which does volatile read.
-
-
Constructor Detail
-
RateLimitedIndexOutput
public RateLimitedIndexOutput(RateLimiter rateLimiter, IndexOutput delegate)
-
-
Method Detail
-
close
public void close() throws java.io.IOExceptionDescription copied from class:IndexOutputCloses this stream to further operations.- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein classIndexOutput- Throws:
java.io.IOException
-
getFilePointer
public long getFilePointer()
Description copied from class:IndexOutputReturns the current position in this file, where the next write will occur.- Specified by:
getFilePointerin classIndexOutput
-
getChecksum
public long getChecksum() throws java.io.IOExceptionDescription copied from class:IndexOutputReturns the current checksum of bytes written so far- Specified by:
getChecksumin classIndexOutput- Throws:
java.io.IOException
-
writeByte
public void writeByte(byte b) throws java.io.IOExceptionDescription copied from class:DataOutputWrites a single byte.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.
- Specified by:
writeBytein classDataOutput- Throws:
java.io.IOException- See Also:
DataInput.readByte()
-
writeBytes
public void writeBytes(byte[] b, int offset, int length) throws java.io.IOExceptionDescription copied from class:DataOutputWrites an array of bytes.- Specified by:
writeBytesin classDataOutput- Parameters:
b- the bytes to writeoffset- the offset in the byte arraylength- the number of bytes to write- Throws:
java.io.IOException- See Also:
DataInput.readBytes(byte[],int,int)
-
checkRate
private void checkRate() throws java.io.IOException- Throws:
java.io.IOException
-
-