Package com.illumon.iris.binarystore
Class BinaryStoreV2RowBufferProcessor.Uninitialized
java.lang.Object
com.illumon.iris.binarystore.BinaryStoreV2RowBufferProcessor.Uninitialized
- All Implemented Interfaces:
BinaryStoreV2RowBufferProcessor
- Enclosing interface:
- BinaryStoreV2RowBufferProcessor
public static final class BinaryStoreV2RowBufferProcessor.Uninitialized extends Object implements BinaryStoreV2RowBufferProcessor
Row buffer processor to use when a real one has not yet been set, and hence rows are unexpected.
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.illumon.iris.binarystore.BinaryStoreV2RowBufferProcessor
BinaryStoreV2RowBufferProcessor.Uninitialized
-
Field Summary
Fields Modifier and Type Field Description static BinaryStoreV2RowBufferProcessor
INSTANCE
-
Method Summary
Modifier and Type Method Description void
doDeferredProcessing()
Do any row processing previously deferred by this implementation'sBinaryStoreV2RowBufferProcessor.processRow(Row.Flags, int)
.boolean
isDirty()
Check whether this buffer processor has any deferred row data to process viaBinaryStoreV2RowBufferProcessor.doDeferredProcessing()
.void
processRow(Row.Flags flags, int rowSize)
Process a binary row entry.void
setDataBuffer(ByteBuffer dataBuffer, long txTimestamp, long rxTimestamp)
Advise this buffer processor of the incoming data buffer and its associated timestamps to be used in subsequent calls toBinaryStoreV2RowBufferProcessor.processRow(Row.Flags, int)
.
-
Field Details
-
Method Details
-
setDataBuffer
Description copied from interface:BinaryStoreV2RowBufferProcessor
Advise this buffer processor of the incoming data buffer and its associated timestamps to be used in subsequent calls toBinaryStoreV2RowBufferProcessor.processRow(Row.Flags, int)
. This buffer processor should record this information, and may need to clear cached objects (e.g. duplicate buffers) linked to the buffer.- Specified by:
setDataBuffer
in interfaceBinaryStoreV2RowBufferProcessor
- Parameters:
dataBuffer
- The data buffertxTimestamp
- The transmit timestamp from the sourcerxTimestamp
- The receive timestamp at this destination
-
processRow
Description copied from interface:BinaryStoreV2RowBufferProcessor
Process a binary row entry. Data is guaranteed to be complete and to have passed checksum verification if such verification is enabled. The data buffer will be positioned to begin reading variable columns.Implementations may internally "defer" part or all of this processing until a later time, for example in order to batch transformation or columnar writing tasks. They may assume that
BinaryStoreV2RowBufferProcessor.doDeferredProcessing()
will be called before the contents of the current data buffer are mutated.- Specified by:
processRow
in interfaceBinaryStoreV2RowBufferProcessor
- Parameters:
flags
- The flags for this row
-
doDeferredProcessing
public void doDeferredProcessing()Description copied from interface:BinaryStoreV2RowBufferProcessor
Do any row processing previously deferred by this implementation'sBinaryStoreV2RowBufferProcessor.processRow(Row.Flags, int)
.This must be invoked explicitly:
- before changing the contents of the current data buffer
- before processing a record
- Specified by:
doDeferredProcessing
in interfaceBinaryStoreV2RowBufferProcessor
-
isDirty
public boolean isDirty()Description copied from interface:BinaryStoreV2RowBufferProcessor
Check whether this buffer processor has any deferred row data to process viaBinaryStoreV2RowBufferProcessor.doDeferredProcessing()
.- Specified by:
isDirty
in interfaceBinaryStoreV2RowBufferProcessor
- Returns:
- Whether this buffer processor has any deferred row data to process
-