public final class DirectMonotonicWriter
extends java.lang.Object
DirectWriter.DirectMonotonicReader| Modifier and Type | Field and Description |
|---|---|
(package private) long |
baseDataPointer |
(package private) long[] |
buffer |
(package private) int |
bufferSize |
(package private) long |
count |
(package private) IndexOutput |
data |
(package private) boolean |
finished |
static int |
MAX_BLOCK_SHIFT |
(package private) IndexOutput |
meta |
static int |
MIN_BLOCK_SHIFT |
(package private) long |
numValues |
(package private) long |
previous |
| Constructor and Description |
|---|
DirectMonotonicWriter(IndexOutput metaOut,
IndexOutput dataOut,
long numValues,
int blockShift) |
| Modifier and Type | Method and Description |
|---|---|
void |
add(long v)
Write a new value.
|
void |
finish()
This must be called exactly once after all values have been
added. |
private void |
flush() |
static DirectMonotonicWriter |
getInstance(IndexOutput metaOut,
IndexOutput dataOut,
long numValues,
int blockShift)
Returns an instance suitable for encoding
numValues into monotonic
blocks of 2blockShift values. |
public static final int MIN_BLOCK_SHIFT
public static final int MAX_BLOCK_SHIFT
final IndexOutput meta
final IndexOutput data
final long numValues
final long baseDataPointer
final long[] buffer
int bufferSize
long count
boolean finished
long previous
DirectMonotonicWriter(IndexOutput metaOut, IndexOutput dataOut, long numValues, int blockShift)
private void flush()
throws java.io.IOException
java.io.IOExceptionpublic void add(long v)
throws java.io.IOException
finish() is called.java.lang.IllegalArgumentException - if values don't come in orderjava.io.IOExceptionpublic void finish()
throws java.io.IOException
added.java.io.IOExceptionpublic static DirectMonotonicWriter getInstance(IndexOutput metaOut, IndexOutput dataOut, long numValues, int blockShift)
numValues into monotonic
blocks of 2blockShift values. Metadata will be written
to metaOut and actual data to dataOut.