Class RunLengthEncoder
java.lang.Object
io.confluent.parallelconsumer.offsets.OffsetEncoder
io.confluent.parallelconsumer.offsets.RunLengthEncoder
RunLength encoder that leverages the nature of this system.
One such nature is that gaps between completed offsets get encoded as succeeded offsets. This doesn't matter because they don't exist and we'll neve see them (they no longer exist in the source partition).
-
Constructor Summary
ConstructorsConstructorDescriptionRunLengthEncoder(OffsetSimultaneousEncoder offsetSimultaneousEncoder, OffsetEncoding.Version newVersion) -
Method Summary
Modifier and TypeMethodDescriptioncalculateSucceededActualOffsets(long originalBaseOffset) voidencodeCompletedOffset(int rangeIndex) voidencodeIncompleteOffset(int rangeIndex) protected byte[]intprotected OffsetEncodingprotected OffsetEncodingbyte[]
-
Constructor Details
-
RunLengthEncoder
public RunLengthEncoder(OffsetSimultaneousEncoder offsetSimultaneousEncoder, OffsetEncoding.Version newVersion)
-
-
Method Details
-
getEncodingType
- Specified by:
getEncodingTypein classOffsetEncoder
-
getEncodingTypeCompressed
- Specified by:
getEncodingTypeCompressedin classOffsetEncoder
-
encodeIncompleteOffset
public void encodeIncompleteOffset(int rangeIndex) -
encodeCompletedOffset
public void encodeCompletedOffset(int rangeIndex) -
serialise
- Throws:
EncodingNotSupportedException
-
getEncodedSize
public int getEncodedSize() -
getEncodedBytes
protected byte[] getEncodedBytes()- Specified by:
getEncodedBytesin classOffsetEncoder
-
calculateSucceededActualOffsets
- Returns:
- the offsets which are succeeded
-
getRunLengthEncodingIntegers
-