Module org.apache.lucene.misc
Package org.apache.lucene.misc.store
Class DirectIODirectory.DirectIOIndexOutput
java.lang.Object
org.apache.lucene.store.DataOutput
org.apache.lucene.store.IndexOutput
org.apache.lucene.misc.store.DirectIODirectory.DirectIOIndexOutput
- All Implemented Interfaces:
Closeable,AutoCloseable
- Enclosing class:
DirectIODirectory
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ByteBufferprivate final FileChannelprivate final Checksumprivate longprivate boolean -
Constructor Summary
ConstructorsConstructorDescriptionDirectIOIndexOutput(Path path, String name, int blockSize, int bufferSize) Creates a new instance of DirectIOIndexOutput for writing index output with direct IO bypassing OS buffer -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Closes this stream to further operations.private voiddump()longReturns the current checksum of bytes written so farlongReturns the current position in this file, where the next write will occur.voidwriteByte(byte b) Writes a single byte.voidwriteBytes(byte[] src, int offset, int len) Writes an array of bytes.Methods inherited from class org.apache.lucene.store.IndexOutput
alignFilePointer, alignOffset, getName, toStringMethods inherited from class org.apache.lucene.store.DataOutput
copyBytes, writeBytes, writeGroupVInts, writeInt, writeLong, writeMapOfStrings, writeSetOfStrings, writeShort, writeString, writeVInt, writeVLong, writeZInt, writeZLong
-
Field Details
-
buffer
-
channel
-
digest
-
filePos
private long filePos -
isOpen
private boolean isOpen
-
-
Constructor Details
-
DirectIOIndexOutput
public DirectIOIndexOutput(Path path, String name, int blockSize, int bufferSize) throws IOException Creates a new instance of DirectIOIndexOutput for writing index output with direct IO bypassing OS buffer- Throws:
UnsupportedOperationException- if the JDK does not support Direct I/OIOException- if the operating system or filesystem does not support support Direct I/O or a sufficient equivalent.
-
-
Method Details
-
writeByte
Description 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:
IOException- See Also:
-
writeBytes
Description copied from class:DataOutputWrites an array of bytes.- Specified by:
writeBytesin classDataOutput- Parameters:
src- the bytes to writeoffset- the offset in the byte arraylen- the number of bytes to write- Throws:
IOException- See Also:
-
dump
- Throws:
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()Description copied from class:IndexOutputReturns the current checksum of bytes written so far- Specified by:
getChecksumin classIndexOutput
-
close
Description copied from class:IndexOutputCloses this stream to further operations.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein classIndexOutput- Throws:
IOException
-