Class RunLengthEncoder
java.lang.Object
io.confluent.parallelconsumer.offsets.OffsetEncoder
io.confluent.parallelconsumer.offsets.RunLengthEncoder
public class RunLengthEncoder extends OffsetEncoder
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
Constructors Constructor Description RunLengthEncoder(OffsetSimultaneousEncoder offsetSimultaneousEncoder, OffsetEncoding.Version newVersion) -
Method Summary
Modifier and Type Method Description List<Long>calculateSucceededActualOffsets(long originalBaseOffset)voidencodeCompletedOffset(int rangeIndex)voidencodeIncompleteOffset(int rangeIndex)protected byte[]getEncodedBytes()intgetEncodedSize()protected OffsetEncodinggetEncodingType()protected OffsetEncodinggetEncodingTypeCompressed()List<Integer>getRunLengthEncodingIntegers()byte[]serialise()
-
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
-