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 ByteBuffer
private final FileChannel
private final Checksum
private long
private 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 TypeMethodDescriptionvoid
close()
Closes this stream to further operations.private void
dump()
long
Returns the current checksum of bytes written so farlong
Returns the current position in this file, where the next write will occur.void
writeByte
(byte b) Writes a single byte.void
writeBytes
(byte[] src, int offset, int len) Writes an array of bytes.Methods inherited from class org.apache.lucene.store.IndexOutput
alignFilePointer, alignOffset, getName, toString
Methods 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: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:
IOException
- See Also:
-
writeBytes
Description copied from class:DataOutput
Writes an array of bytes.- Specified by:
writeBytes
in 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:IndexOutput
Returns the current position in this file, where the next write will occur.- Specified by:
getFilePointer
in classIndexOutput
-
getChecksum
public long getChecksum()Description copied from class:IndexOutput
Returns the current checksum of bytes written so far- Specified by:
getChecksum
in classIndexOutput
-
close
Description copied from class:IndexOutput
Closes this stream to further operations.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in classIndexOutput
- Throws:
IOException
-