public interface BinaryFormat
MemorySegment
s.Modifier and Type | Field and Description |
---|---|
static long |
HIGHEST_FIRST_BIT
To get the mark in highest bit of long.
|
static long |
HIGHEST_SECOND_TO_EIGHTH_BIT
To get the 7 bits length in second bit to eighth bit out of a long.
|
static int |
MAX_FIX_PART_DATA_SIZE
It decides whether to put data in FixLenPart or VarLenPart.
|
Modifier and Type | Method and Description |
---|---|
int |
getOffset() |
MemorySegment[] |
getSegments() |
int |
getSizeInBytes() |
static byte[] |
readBinaryFieldFromSegments(MemorySegment[] segments,
int baseOffset,
int fieldOffset,
long variablePartOffsetAndLen)
Get binary, if len less than 8, will be include in variablePartOffsetAndLen.
|
static BinaryString |
readBinaryStringFieldFromSegments(MemorySegment[] segments,
int baseOffset,
int fieldOffset,
long variablePartOffsetAndLen)
Get binary string, if len less than 8, will be include in variablePartOffsetAndLen.
|
static final int MAX_FIX_PART_DATA_SIZE
BinaryRow
.
If len is less than 8, its binary format is: 1-bit mark(1) = 1, 7-bits len, and 7-bytes data. Data is stored in fix-length part.
If len is greater or equal to 8, its binary format is: 1-bit mark(1) = 0, 31-bits offset to the data, and 4-bytes length of data. Data is stored in variable-length part.
static final long HIGHEST_FIRST_BIT
This is used to decide whether the data is stored in fixed-length part or variable-length
part. see MAX_FIX_PART_DATA_SIZE
for more information.
static final long HIGHEST_SECOND_TO_EIGHTH_BIT
This is used to get the length of the data which is stored in this long.
see MAX_FIX_PART_DATA_SIZE
for more information.
MemorySegment[] getSegments()
int getOffset()
int getSizeInBytes()
static byte[] readBinaryFieldFromSegments(MemorySegment[] segments, int baseOffset, int fieldOffset, long variablePartOffsetAndLen)
Note: Need to consider the ByteOrder.
baseOffset
- base offset of composite binary format.fieldOffset
- absolute start offset of 'variablePartOffsetAndLen'.variablePartOffsetAndLen
- a long value, real data or offset and len.static BinaryString readBinaryStringFieldFromSegments(MemorySegment[] segments, int baseOffset, int fieldOffset, long variablePartOffsetAndLen)
Note: Need to consider the ByteOrder.
baseOffset
- base offset of composite binary format.fieldOffset
- absolute start offset of 'variablePartOffsetAndLen'.variablePartOffsetAndLen
- a long value, real data or offset and len.Copyright © 2014–2020 The Apache Software Foundation. All rights reserved.