in flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/source/split/PulsarPartitionSplitSerializer.java [153:180]
public TopicPartition deserializeTopicPartition(int version, DataInputStream in)
throws IOException {
String topic = in.readUTF();
int partitionId = in.readInt();
List<TopicRange> ranges;
if (version == 0) {
// VERSION 0 deserialization
int start = in.readInt();
int end = in.readInt();
TopicRange range = new TopicRange(start, end);
ranges = singletonList(range);
} else {
// VERSION 1/2 deserialization
ranges =
deserializeList(
in,
i -> {
int start = i.readInt();
int end = i.readInt();
return new TopicRange(start, end);
});
if (version == 1) {
in.readInt();
}
}
return new TopicPartition(topic, partitionId, ranges);
}