java.lang.Object
org.apache.lucene.util.BytesRefBlockPool
- All Implemented Interfaces:
Accountable
Represents a logical list of ByteRef backed by a
ByteBlockPool. It uses up to two bytes
to record the length of the BytesRef followed by the actual bytes. They can be read using the
start position returned when they are appended.
The BytesRef is written so it never crosses the ByteBlockPool.BYTE_BLOCK_SIZE
boundary. The limit of the largest BytesRef is therefore ByteBlockPool.BYTE_BLOCK_SIZE-2 bytes.
-
Field Summary
FieldsFields inherited from interface org.apache.lucene.util.Accountable
NULL_ACCOUNTABLE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintaddBytesRef(BytesRef bytes) Add a term returning the start position on the underlyingByteBlockPool.(package private) booleanComputes the equality between the BytesRef at the start position with the provided BytesRef.voidfillBytesRef(BytesRef term, int start) Populates the given BytesRef with the term starting at start.(package private) inthash(int start) Computes the hash of the BytesRef at the given start.longReturn the memory usage of this object in bytes.(package private) voidreset()Reset this buffer to the empty state.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.lucene.util.Accountable
getChildResources
-
Field Details
-
BASE_RAM_BYTES
private static final long BASE_RAM_BYTES -
byteBlockPool
-
-
Constructor Details
-
BytesRefBlockPool
public BytesRefBlockPool() -
BytesRefBlockPool
-
-
Method Details
-
reset
void reset()Reset this buffer to the empty state. -
fillBytesRef
Populates the given BytesRef with the term starting at start.- See Also:
-
addBytesRef
Add a term returning the start position on the underlyingByteBlockPool. THis can be used to read back the value usingfillBytesRef(BytesRef, int).- See Also:
-
hash
int hash(int start) Computes the hash of the BytesRef at the given start. This is equivalent of doing:BytesRef bytes = new BytesRef(); fillTerm(bytes, start); BytesRefHash.doHash(bytes.bytes, bytes.pos, bytes.len);It just saves the work of filling the BytesRef. -
equals
Computes the equality between the BytesRef at the start position with the provided BytesRef. This is equivalent of doing:BytesRef bytes = new BytesRef(); fillTerm(bytes, start); Arrays.equals(bytes.bytes, bytes.offset, bytes.offset + length, b.bytes, b.offset, b.offset + b.length);It just saves the work of filling the BytesRef. -
ramBytesUsed
public long ramBytesUsed()Description copied from interface:AccountableReturn the memory usage of this object in bytes. Negative values are illegal.- Specified by:
ramBytesUsedin interfaceAccountable
-