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.IOException
public void add(long v) throws java.io.IOException
finish()
is called.java.lang.IllegalArgumentException
- if values don't come in orderjava.io.IOException
public void finish() throws java.io.IOException
added
.java.io.IOException
public 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
.