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 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 Summary
Constructors Constructor Description RateLimitedIndexOutput(RateLimiter rateLimiter, IndexOutput delegate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
checkRate()
void
close()
Closes this stream to further operations.long
getChecksum()
Returns the current checksum of bytes written so farlong
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.-
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.IOException
Description copied from class:IndexOutput
Closes this stream to further operations.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Specified by:
close
in classIndexOutput
- Throws:
java.io.IOException
-
getFilePointer
public long getFilePointer()
Description copied from class:IndexOutput
Returns the current position in this file, where the next write will occur.- Specified by:
getFilePointer
in classIndexOutput
-
getChecksum
public long getChecksum() throws java.io.IOException
Description copied from class:IndexOutput
Returns the current checksum of bytes written so far- Specified by:
getChecksum
in classIndexOutput
- Throws:
java.io.IOException
-
writeByte
public void writeByte(byte b) throws java.io.IOException
Description copied from class:DataOutput
Writes 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:
writeByte
in classDataOutput
- Throws:
java.io.IOException
- See Also:
DataInput.readByte()
-
writeBytes
public void writeBytes(byte[] b, int offset, int length) throws java.io.IOException
Description copied from class:DataOutput
Writes an array of bytes.- Specified by:
writeBytes
in 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
-
-