Class BlockSplitter
java.lang.Object
com.illumon.iris.db.v2.sources.chunk.kernels.BlockSplitter
public class BlockSplitter extends Object
Identifies the target hash block positions for a chunk of chunks in a target
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
BlockSplitter.Context
-
Constructor Summary
Constructors Constructor Description BlockSplitter()
-
Method Summary
Modifier and Type Method Description BlockSplitter.Context
getContext(int resultChunkSize, int logBlockCount, ReentrantNugget nugget)
int
split(BlockSplitter.Context context, WritableIntChunkChunk targetPositions, IntChunkChunk hashChunks, int inputChunksLogSize)
Identifies the target hash block positions for a chunk of chunks in a target
-
Constructor Details
-
BlockSplitter
public BlockSplitter()
-
-
Method Details
-
getContext
public BlockSplitter.Context getContext(int resultChunkSize, int logBlockCount, ReentrantNugget nugget) -
split
public int split(BlockSplitter.Context context, WritableIntChunkChunk targetPositions, IntChunkChunk hashChunks, int inputChunksLogSize)Identifies the target hash block positions for a chunk of chunks in a target- Parameters:
context
- The context kept for this operationtargetPositions
- A chunk of chunks where the chunk at position `k` contains the positions of the elements in the intermediary chunks to be inserted in the final block `k`hashChunks
- The hash values for the intermediary chunks to be insertedinputChunksLogSize
-- Returns:
- The position of the targetPosition chunk that is full or -1 is all the keys were scanned and none of the targetPositions are full. Once -1 is returned, it is expected that all chunks in targetPosition have the size properly set.
-