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 -
Method Summary
Modifier and TypeMethodDescriptionvoidDo any row processing previously deferred by this implementation'sBinaryStoreV2RowBufferProcessor.processRow(Row.Flags, int).booleanisDirty()Check whether this buffer processor has any deferred row data to process viaBinaryStoreV2RowBufferProcessor.doDeferredProcessing().voidprocessRow(Row.Flags flags, int rowSize) Process a binary row entry.voidsetDataBuffer(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
-
INSTANCE
-
-
Method Details
-
setDataBuffer
Description copied from interface:BinaryStoreV2RowBufferProcessorAdvise 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:
setDataBufferin interfaceBinaryStoreV2RowBufferProcessor- Parameters:
dataBuffer- The data buffertxTimestamp- The transmit timestamp from the sourcerxTimestamp- The receive timestamp at this destination
-
processRow
Description copied from interface:BinaryStoreV2RowBufferProcessorProcess 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:
processRowin interfaceBinaryStoreV2RowBufferProcessor- Parameters:
flags- The flags for this row
-
doDeferredProcessing
public void doDeferredProcessing()Description copied from interface:BinaryStoreV2RowBufferProcessorDo 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:
doDeferredProcessingin interfaceBinaryStoreV2RowBufferProcessor
-
isDirty
public boolean isDirty()Description copied from interface:BinaryStoreV2RowBufferProcessorCheck whether this buffer processor has any deferred row data to process viaBinaryStoreV2RowBufferProcessor.doDeferredProcessing().- Specified by:
isDirtyin interfaceBinaryStoreV2RowBufferProcessor- Returns:
- Whether this buffer processor has any deferred row data to process
-