Class DirectIODirectory.DirectIOIndexInput

java.lang.Object
org.apache.lucene.store.DataInput
org.apache.lucene.store.IndexInput
org.apache.lucene.misc.store.DirectIODirectory.DirectIOIndexInput
All Implemented Interfaces:
Closeable, AutoCloseable, Cloneable
Enclosing class:
DirectIODirectory

private static final class DirectIODirectory.DirectIOIndexInput extends IndexInput
  • Field Details

    • buffer

      private final ByteBuffer buffer
    • channel

      private final FileChannel channel
    • blockSize

      private final int blockSize
    • isOpen

      private boolean isOpen
    • isClone

      private boolean isClone
    • filePos

      private long filePos
  • Constructor Details

  • Method Details

    • close

      public void close() throws IOException
      Description copied from class: IndexInput
      Closes the stream to further operations.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in class IndexInput
      Throws:
      IOException
    • getFilePointer

      public long getFilePointer()
      Description copied from class: IndexInput
      Returns the current position in this file, where the next read will occur.
      Specified by:
      getFilePointer in class IndexInput
      See Also:
    • seek

      public void seek(long pos) throws IOException
      Description copied from class: IndexInput
      Sets current position in this file, where the next read will occur. If this is beyond the end of the file then this will throw EOFException and then the stream is in an undetermined state.
      Specified by:
      seek in class IndexInput
      Throws:
      IOException
      See Also:
    • length

      public long length()
      Description copied from class: IndexInput
      The number of bytes in the file.
      Specified by:
      length in class IndexInput
    • readByte

      public byte readByte() throws IOException
      Description copied from class: DataInput
      Reads and returns a single byte.
      Specified by:
      readByte in class DataInput
      Throws:
      IOException
      See Also:
    • refill

      private void refill(int bytesToRead) throws IOException
      Throws:
      IOException
    • readBytes

      public void readBytes(byte[] dst, int offset, int len) throws IOException
      Description copied from class: DataInput
      Reads a specified number of bytes into an array at the specified offset.
      Specified by:
      readBytes in class DataInput
      Parameters:
      dst - the array to read bytes into
      offset - the offset in the array to start storing bytes
      len - the number of bytes to read
      Throws:
      IOException
      See Also:
    • clone

      Description copied from class: IndexInput
      Returns a clone of this stream.

      Clones of a stream access the same data, and are positioned at the same point as the stream they were cloned from.

      Expert: Subclasses must ensure that clones may be positioned at different points in the input from each other and from the stream they were cloned from.

      Warning: Lucene never closes cloned IndexInputs, it will only call IndexInput.close() on the original object.

      If you access the cloned IndexInput after closing the original object, any readXXX methods will throw AlreadyClosedException.

      This method is NOT thread safe, so if the current IndexInput is being used by one thread while clone is called by another, disaster could strike.

      Overrides:
      clone in class IndexInput
    • slice

      public IndexInput slice(String sliceDescription, long offset, long length)
      Description copied from class: IndexInput
      Creates a slice of this index input, with the given description, offset, and length. The slice is sought to the beginning.
      Specified by:
      slice in class IndexInput