Class DirectIODirectory.DirectIOIndexOutput

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable
    Enclosing class:
    DirectIODirectory

    private static final class DirectIODirectory.DirectIOIndexOutput
    extends IndexOutput
    • Field Detail

      • buffer

        private final java.nio.ByteBuffer buffer
      • channel

        private final java.nio.channels.FileChannel channel
      • digest

        private final java.util.zip.Checksum digest
      • filePos

        private long filePos
      • isOpen

        private boolean isOpen
    • Constructor Detail

      • DirectIOIndexOutput

        public DirectIOIndexOutput​(java.nio.file.Path path,
                                   java.lang.String name,
                                   int blockSize,
                                   int bufferSize)
                            throws java.io.IOException
        Creates a new instance of DirectIOIndexOutput for writing index output with direct IO bypassing OS buffer
        Throws:
        java.lang.UnsupportedOperationException - if the JDK does not support Direct I/O
        java.io.IOException - if the operating system or filesystem does not support support Direct I/O or a sufficient equivalent.
    • 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.

        Specified by:
        writeByte in class DataOutput
        Throws:
        java.io.IOException
        See Also:
        DataInput.readByte()
      • writeBytes

        public void writeBytes​(byte[] src,
                               int offset,
                               int len)
                        throws java.io.IOException
        Description copied from class: DataOutput
        Writes an array of bytes.
        Specified by:
        writeBytes in class DataOutput
        Parameters:
        src - the bytes to write
        offset - the offset in the byte array
        len - the number of bytes to write
        Throws:
        java.io.IOException
        See Also:
        DataInput.readBytes(byte[],int,int)
      • dump

        private void dump()
                   throws java.io.IOException
        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 class IndexOutput
      • getChecksum

        public long getChecksum()
        Description copied from class: IndexOutput
        Returns the current checksum of bytes written so far
        Specified by:
        getChecksum in class IndexOutput
      • close

        public void close()
                   throws java.io.IOException
        Description copied from class: IndexOutput
        Closes this stream to further operations.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in class IndexOutput
        Throws:
        java.io.IOException