in flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/source/split/PulsarPartitionSplitSerializer.java [111:137]
public PulsarPartitionSplit deserializePulsarPartitionSplit(int version, DataInputStream in)
throws IOException {
// partition
TopicPartition partition = deserializeTopicPartition(version, in);
// stopCursor
StopCursor stopCursor = deserializeObject(in);
// latestConsumedId
MessageId latestConsumedId = null;
if (in.readBoolean()) {
byte[] messageIdBytes = deserializeBytes(in);
latestConsumedId = MessageId.fromByteArray(messageIdBytes);
}
// uncommittedTransactionId
TxnID uncommittedTransactionId = null;
if (in.readBoolean()) {
long mostSigBits = in.readLong();
long leastSigBits = in.readLong();
uncommittedTransactionId = new TxnID(mostSigBits, leastSigBits);
}
// Creation
return new PulsarPartitionSplit(
partition, stopCursor, latestConsumedId, uncommittedTransactionId);
}