Class CustomBufferedIndexInput

  • All Implemented Interfaces:
    Closeable, AutoCloseable, Cloneable
    Direct Known Subclasses:
    HdfsDirectory.HdfsIndexInput

    public abstract class CustomBufferedIndexInput
    extends org.apache.lucene.store.IndexInput
    WARNING: This API is experimental and might change in incompatible ways in the next release.
    • Field Detail

      • BUFFER_SIZE

        public static final int BUFFER_SIZE
      • buffer

        protected byte[] buffer
    • Constructor Detail

      • CustomBufferedIndexInput

        public CustomBufferedIndexInput​(String resourceDesc)
      • CustomBufferedIndexInput

        public CustomBufferedIndexInput​(String resourceDesc,
                                        int bufferSize)
    • Method Detail

      • readByte

        public byte readByte()
                      throws IOException
        Specified by:
        readByte in class org.apache.lucene.store.DataInput
        Throws:
        IOException
      • readBytes

        public void readBytes​(byte[] b,
                              int offset,
                              int len)
                       throws IOException
        Specified by:
        readBytes in class org.apache.lucene.store.DataInput
        Throws:
        IOException
      • readBytes

        public void readBytes​(byte[] b,
                              int offset,
                              int len,
                              boolean useBuffer)
                       throws IOException
        Overrides:
        readBytes in class org.apache.lucene.store.DataInput
        Throws:
        IOException
      • readInt

        public int readInt()
                    throws IOException
        Overrides:
        readInt in class org.apache.lucene.store.DataInput
        Throws:
        IOException
      • readLong

        public long readLong()
                      throws IOException
        Overrides:
        readLong in class org.apache.lucene.store.DataInput
        Throws:
        IOException
      • readVInt

        public int readVInt()
                     throws IOException
        Overrides:
        readVInt in class org.apache.lucene.store.DataInput
        Throws:
        IOException
      • readVLong

        public long readVLong()
                       throws IOException
        Overrides:
        readVLong in class org.apache.lucene.store.DataInput
        Throws:
        IOException
      • readInternal

        protected abstract void readInternal​(byte[] b,
                                             int offset,
                                             int length)
                                      throws IOException
        Expert: implements buffer refill. Reads bytes from the current position in the input.
        Parameters:
        b - the array to read bytes into
        offset - the offset in the array to start storing bytes
        length - the number of bytes to read
        Throws:
        IOException
      • getFilePointer

        public long getFilePointer()
        Specified by:
        getFilePointer in class org.apache.lucene.store.IndexInput
      • seek

        public void seek​(long pos)
                  throws IOException
        Specified by:
        seek in class org.apache.lucene.store.IndexInput
        Throws:
        IOException
      • clone

        public org.apache.lucene.store.IndexInput clone()
        Overrides:
        clone in class org.apache.lucene.store.IndexInput
      • slice

        public org.apache.lucene.store.IndexInput slice​(String sliceDescription,
                                                        long offset,
                                                        long length)
                                                 throws IOException
        Specified by:
        slice in class org.apache.lucene.store.IndexInput
        Throws:
        IOException
      • flushBuffer

        protected int flushBuffer​(org.apache.lucene.store.IndexOutput out,
                                  long numBytes)
                           throws IOException
        Flushes the in-memory bufer to the given output, copying at most numBytes.

        NOTE: this method does not refill the buffer, however it does advance the buffer position.

        Returns:
        the number of bytes actually flushed from the in-memory buffer.
        Throws:
        IOException