- java.lang.Object
-
- org.apache.lucene.store.DataOutput
-
- org.apache.lucene.store.IndexOutput
-
- org.apache.lucene.store.FilterIndexOutput
-
- org.apache.lucene.store.RateLimitedIndexOutput
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
public final class RateLimitedIndexOutput extends FilterIndexOutput
-
-
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 RateLimiter
rateLimiter
-
Fields inherited from class org.apache.lucene.store.FilterIndexOutput
out
-
-
Constructor Summary
Constructors Constructor Description RateLimitedIndexOutput(RateLimiter rateLimiter, IndexOutput out)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
checkRate()
void
writeByte(byte b)
Writes a single byte.void
writeBytes(byte[] b, int offset, int length)
Writes an array of bytes.void
writeInt(int i)
Writes an int as four bytes (LE byte order).void
writeLong(long i)
Writes a long as eight bytes (LE byte order).void
writeShort(short i)
Writes a short as two bytes (LE byte order).-
Methods inherited from class org.apache.lucene.store.FilterIndexOutput
close, getChecksum, getDelegate, getFilePointer, unwrap
-
Methods inherited from class org.apache.lucene.store.IndexOutput
alignFilePointer, alignOffset, getName, toString
-
Methods inherited from class org.apache.lucene.store.DataOutput
copyBytes, writeBytes, writeMapOfStrings, writeSetOfStrings, writeString, writeVInt, writeVLong, writeZInt, writeZLong
-
-
-
-
Field Detail
-
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 out)
-
-
Method Detail
-
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.
- Overrides:
writeByte
in classFilterIndexOutput
- 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.- Overrides:
writeBytes
in classFilterIndexOutput
- 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)
-
writeInt
public void writeInt(int i) throws java.io.IOException
Description copied from class:DataOutput
Writes an int as four bytes (LE byte order).- Overrides:
writeInt
in classDataOutput
- Throws:
java.io.IOException
- See Also:
DataInput.readInt()
,BitUtil.VH_LE_INT
-
writeShort
public void writeShort(short i) throws java.io.IOException
Description copied from class:DataOutput
Writes a short as two bytes (LE byte order).- Overrides:
writeShort
in classDataOutput
- Throws:
java.io.IOException
- See Also:
DataInput.readShort()
,BitUtil.VH_LE_SHORT
-
writeLong
public void writeLong(long i) throws java.io.IOException
Description copied from class:DataOutput
Writes a long as eight bytes (LE byte order).- Overrides:
writeLong
in classDataOutput
- Throws:
java.io.IOException
- See Also:
DataInput.readLong()
,BitUtil.VH_LE_LONG
-
checkRate
private void checkRate() throws java.io.IOException
- Throws:
java.io.IOException
-
-