public TopicPartition deserializeTopicPartition()

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);
    }