Class ByteBufferIndexInput
- java.lang.Object
-
- org.apache.lucene.store.DataInput
-
- org.apache.lucene.store.IndexInput
-
- org.apache.lucene.store.ByteBufferIndexInput
-
- All Implemented Interfaces:
Closeable,AutoCloseable,Cloneable,RandomAccessInput
@Deprecated public abstract class ByteBufferIndexInput extends IndexInput implements RandomAccessInput
Deprecated.This class was made public for internal reasons (instanceofchecks). InMMapDirectoryit was replaced byMemorySegmentbasedIndexInputimplementations and will be no longer required in Lucene 10.Base IndexInput implementation that uses an array of ByteBuffers to represent a file.Because Java's ByteBuffer uses an int to address the values, it's necessary to access a file greater Integer.MAX_VALUE in size using multiple byte buffers.
For efficiency, this class requires that the buffers are a power-of-two (
chunkSizePower).- NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
-
-
Field Summary
Fields Modifier and Type Field Description protected ByteBuffer[]buffersDeprecated.protected longchunkSizeMaskDeprecated.protected intchunkSizePowerDeprecated.protected ByteBuffercurBufDeprecated.protected intcurBufIndexDeprecated.protected org.apache.lucene.store.ByteBufferGuardguardDeprecated.protected booleanisCloneDeprecated.protected longlengthDeprecated.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected ByteBufferIndexInputbuildSlice(String sliceDescription, long offset, long length)Deprecated.Builds the actual sliced IndexInput (may apply extra offset in subclasses).ByteBufferIndexInputclone()Deprecated.Returns a clone of this stream.voidclose()Deprecated.Closes the stream to further operations.longgetFilePointer()Deprecated.Returns the current position in this file, where the next read will occur.longlength()Deprecated.The number of bytes in the file.protected ByteBufferIndexInputnewCloneInstance(String newResourceDescription, ByteBuffer[] newBuffers, int offset, long length)Deprecated.Factory method that creates a suitable implementation of this class for the given ByteBuffers.static ByteBufferIndexInputnewInstance(String resourceDescription, ByteBuffer[] buffers, long length, int chunkSizePower, org.apache.lucene.store.ByteBufferGuard guard)Deprecated.bytereadByte()Deprecated.Reads and returns a single byte.bytereadByte(long pos)Deprecated.Reads a byte at the given position in the filevoidreadBytes(byte[] b, int offset, int len)Deprecated.Reads a specified number of bytes into an array at the specified offset.voidreadFloats(float[] floats, int offset, int len)Deprecated.Reads a specified number of floats into an array at the specified offset.intreadInt()Deprecated.Reads four bytes and returns an int (LE byte order).intreadInt(long pos)Deprecated.Reads an integer (LE byte order) at the given position in the filevoidreadInts(int[] dst, int offset, int length)Deprecated.Reads a specified number of ints into an array at the specified offset.longreadLong()Deprecated.Reads eight bytes and returns a long (LE byte order).longreadLong(long pos)Deprecated.Reads a long (LE byte order) at the given position in the filevoidreadLongs(long[] dst, int offset, int length)Deprecated.Read a specified number of longs.shortreadShort()Deprecated.Reads two bytes and returns a short (LE byte order).shortreadShort(long pos)Deprecated.Reads a short (LE byte order) at the given position in the fileintreadVInt()Deprecated.Reads an int stored in variable-length format.longreadVLong()Deprecated.Reads a long stored in variable-length format.voidseek(long pos)Deprecated.Sets current position in this file, where the next read will occur.protected voidsetCurBuf(ByteBuffer curBuf)Deprecated.ByteBufferIndexInputslice(String sliceDescription, long offset, long length)Deprecated.Creates a slice of this index input, with the given description, offset, and length.-
Methods inherited from class org.apache.lucene.store.IndexInput
getFullSliceDescription, randomAccessSlice, skipBytes, toString
-
Methods inherited from class org.apache.lucene.store.DataInput
readBytes, readGroupVInt, readGroupVInts, readMapOfStrings, readSetOfStrings, readString, readZInt, readZLong
-
-
-
-
Field Detail
-
length
protected final long length
Deprecated.
-
chunkSizeMask
protected final long chunkSizeMask
Deprecated.
-
chunkSizePower
protected final int chunkSizePower
Deprecated.
-
guard
protected final org.apache.lucene.store.ByteBufferGuard guard
Deprecated.
-
buffers
protected ByteBuffer[] buffers
Deprecated.
-
curBufIndex
protected int curBufIndex
Deprecated.
-
curBuf
protected ByteBuffer curBuf
Deprecated.
-
isClone
protected boolean isClone
Deprecated.
-
-
Method Detail
-
newInstance
public static ByteBufferIndexInput newInstance(String resourceDescription, ByteBuffer[] buffers, long length, int chunkSizePower, org.apache.lucene.store.ByteBufferGuard guard)
Deprecated.
-
setCurBuf
protected void setCurBuf(ByteBuffer curBuf)
Deprecated.
-
readByte
public final byte readByte() throws IOExceptionDeprecated.Description copied from class:DataInputReads and returns a single byte.- Specified by:
readBytein classDataInput- Throws:
IOException- See Also:
DataOutput.writeByte(byte)
-
readBytes
public final void readBytes(byte[] b, int offset, int len) throws IOExceptionDeprecated.Description copied from class:DataInputReads a specified number of bytes into an array at the specified offset.- Specified by:
readBytesin classDataInput- Parameters:
b- the array to read bytes intooffset- the offset in the array to start storing byteslen- the number of bytes to read- Throws:
IOException- See Also:
DataOutput.writeBytes(byte[],int)
-
readLongs
public final void readLongs(long[] dst, int offset, int length) throws IOExceptionDeprecated.Description copied from class:DataInputRead a specified number of longs.- Overrides:
readLongsin classDataInput- Throws:
IOException
-
readInts
public void readInts(int[] dst, int offset, int length) throws IOExceptionDeprecated.Description copied from class:DataInputReads a specified number of ints into an array at the specified offset.- Overrides:
readIntsin classDataInput- Parameters:
dst- the array to read bytes intooffset- the offset in the array to start storing intslength- the number of ints to read- Throws:
IOException
-
readFloats
public final void readFloats(float[] floats, int offset, int len) throws IOExceptionDeprecated.Description copied from class:DataInputReads a specified number of floats into an array at the specified offset.- Overrides:
readFloatsin classDataInput- Parameters:
floats- the array to read bytes intooffset- the offset in the array to start storing floatslen- the number of floats to read- Throws:
IOException
-
readShort
public final short readShort() throws IOExceptionDeprecated.Description copied from class:DataInputReads two bytes and returns a short (LE byte order).- Overrides:
readShortin classDataInput- Throws:
IOException- See Also:
DataOutput.writeShort(short),BitUtil.VH_LE_SHORT
-
readInt
public final int readInt() throws IOExceptionDeprecated.Description copied from class:DataInputReads four bytes and returns an int (LE byte order).- Overrides:
readIntin classDataInput- Throws:
IOException- See Also:
DataOutput.writeInt(int),BitUtil.VH_LE_INT
-
readVInt
public final int readVInt() throws IOExceptionDeprecated.Description copied from class:DataInputReads an int stored in variable-length format. Reads between one and five bytes. Smaller values take fewer bytes. Negative numbers are supported, but should be avoided.The format is described further in
DataOutput.writeVInt(int).- Overrides:
readVIntin classDataInput- Throws:
IOException- See Also:
DataOutput.writeVInt(int)
-
readVLong
public final long readVLong() throws IOExceptionDeprecated.Description copied from class:DataInputReads a long stored in variable-length format. Reads between one and nine bytes. Smaller values take fewer bytes. Negative numbers are not supported.The format is described further in
DataOutput.writeVInt(int).- Overrides:
readVLongin classDataInput- Throws:
IOException- See Also:
DataOutput.writeVLong(long)
-
readLong
public final long readLong() throws IOExceptionDeprecated.Description copied from class:DataInputReads eight bytes and returns a long (LE byte order).- Overrides:
readLongin classDataInput- Throws:
IOException- See Also:
DataOutput.writeLong(long),BitUtil.VH_LE_LONG
-
getFilePointer
public long getFilePointer()
Deprecated.Description copied from class:IndexInputReturns the current position in this file, where the next read will occur.- Specified by:
getFilePointerin classIndexInput- See Also:
IndexInput.seek(long)
-
seek
public void seek(long pos) throws IOExceptionDeprecated.Description copied from class:IndexInputSets current position in this file, where the next read will occur. If this is beyond the end of the file then this will throwEOFExceptionand then the stream is in an undetermined state.- Specified by:
seekin classIndexInput- Throws:
IOException- See Also:
IndexInput.getFilePointer()
-
readByte
public byte readByte(long pos) throws IOExceptionDeprecated.Description copied from interface:RandomAccessInputReads a byte at the given position in the file- Specified by:
readBytein interfaceRandomAccessInput- Throws:
IOException- See Also:
DataInput.readByte()
-
readShort
public short readShort(long pos) throws IOExceptionDeprecated.Description copied from interface:RandomAccessInputReads a short (LE byte order) at the given position in the file- Specified by:
readShortin interfaceRandomAccessInput- Throws:
IOException- See Also:
DataInput.readShort(),BitUtil.VH_LE_SHORT
-
readInt
public int readInt(long pos) throws IOExceptionDeprecated.Description copied from interface:RandomAccessInputReads an integer (LE byte order) at the given position in the file- Specified by:
readIntin interfaceRandomAccessInput- Throws:
IOException- See Also:
DataInput.readInt(),BitUtil.VH_LE_INT
-
readLong
public long readLong(long pos) throws IOExceptionDeprecated.Description copied from interface:RandomAccessInputReads a long (LE byte order) at the given position in the file- Specified by:
readLongin interfaceRandomAccessInput- Throws:
IOException- See Also:
DataInput.readLong(),BitUtil.VH_LE_LONG
-
length
public final long length()
Deprecated.Description copied from class:IndexInputThe number of bytes in the file.- Specified by:
lengthin interfaceRandomAccessInput- Specified by:
lengthin classIndexInput
-
clone
public final ByteBufferIndexInput clone()
Deprecated.Description copied from class:IndexInputReturns 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 callIndexInput.close()on the original object.If you access the cloned IndexInput after closing the original object, any
readXXXmethods will throwAlreadyClosedException.This method is NOT thread safe, so if the current
IndexInputis being used by one thread whilecloneis called by another, disaster could strike.- Overrides:
clonein classIndexInput
-
slice
public final ByteBufferIndexInput slice(String sliceDescription, long offset, long length)
Deprecated.Creates a slice of this index input, with the given description, offset, and length. The slice is seeked to the beginning.- Specified by:
slicein classIndexInput
-
buildSlice
protected ByteBufferIndexInput buildSlice(String sliceDescription, long offset, long length)
Deprecated.Builds the actual sliced IndexInput (may apply extra offset in subclasses). *
-
newCloneInstance
protected ByteBufferIndexInput newCloneInstance(String newResourceDescription, ByteBuffer[] newBuffers, int offset, long length)
Deprecated.Factory method that creates a suitable implementation of this class for the given ByteBuffers.
-
close
public final void close() throws IOExceptionDeprecated.Description copied from class:IndexInputCloses the stream to further operations.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein classIndexInput- Throws:
IOException
-
-