Package org.apache.lucene.util
Class PagedBytes
java.lang.Object
org.apache.lucene.util.PagedBytes
Represents a logical byte[] as a series of pages. You
can write-once into the logical byte[] (append only),
using copy, and then retrieve slices (BytesRef) into it
using fill.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionfinal classfinal classstatic final classProvides methods to read BytesRefs from a frozen PagedBytes. -
Constructor Summary
ConstructorsConstructorDescriptionPagedBytes(int blockBits) 1<<blockBits must be bigger than biggest single BytesRef slice that will be pulled -
Method Summary
Modifier and TypeMethodDescriptionvoidcopy(IndexInput in, long byteCount) Read this many bytes from invoidCopy BytesRef in, setting BytesRef out to the result.longcopyUsingLengthPrefix(BytesRef bytes) Copy bytes in, writing the length as a 1 or 2 byte vInt prefix.freeze(boolean trim) Commits final byte[], trimming it if necessary and if trim=trueReturns a DataInput to read values from this PagedBytes instance.Returns a DataOutput that you may use to write into this PagedBytes instance.longlongReturn approx RAM usage in bytes.
-
Constructor Details
-
PagedBytes
public PagedBytes(int blockBits) 1<<blockBits must be bigger than biggest single BytesRef slice that will be pulled
-
-
Method Details
-
copy
Read this many bytes from in- Throws:
IOException
-
copy
Copy BytesRef in, setting BytesRef out to the result. Do not use this if you will use freeze(true). This only supports bytes.length <= blockSize -
freeze
Commits final byte[], trimming it if necessary and if trim=true -
getPointer
public long getPointer() -
ramBytesUsed
public long ramBytesUsed()Return approx RAM usage in bytes. -
copyUsingLengthPrefix
Copy bytes in, writing the length as a 1 or 2 byte vInt prefix. -
getDataInput
Returns a DataInput to read values from this PagedBytes instance. -
getDataOutput
Returns a DataOutput that you may use to write into this PagedBytes instance. If you do this, you should not call the other writing methods (eg, copy); results are undefined.
-