public static ByteBuf newMultiMessageAck(long consumerId, List<Pair<Long, Long>> entries) { CommandAck.Builder ackBuilder = CommandAck.newBuilder(); ackBuilder.setConsumerId(consumerId); ackBuilder.setAckType(AckType.Individual); int entriesCount = entries.size(); for (int i = 0; i < entriesCount; i++) { long ledgerId = entries.get(i).getLeft(); long entryId = entries.get(i).getRight(); MessageIdData.Builder messageIdDataBuilder = MessageIdData.newBuilder(); messageIdDataBuilder.setLedgerId(ledgerId); messageIdDataBuilder.setEntryId(entryId); MessageIdData messageIdData = messageIdDataBuilder.build(); ackBuilder.addMessageId(messageIdData); messageIdDataBuilder.recycle(); } CommandAck ack = ackBuilder.build(); ByteBuf res = serializeWithSize(BaseCommand.newBuilder().setType(Type.ACK).setAck(ack)); for (int i = 0; i < entriesCount; i++) { ack.getMessageId(i).recycle(); } ack.recycle(); ackBuilder.recycle(); return res; }
protected byte[] toByteArray(int batchIndex) { MessageIdData.Builder builder = MessageIdData.newBuilder(); builder.setLedgerId(ledgerId); builder.setEntryId(entryId); if (partitionIndex >= 0) { builder.setPartition(partitionIndex); } if (batchIndex != -1) { builder.setBatchIndex(batchIndex); } MessageIdData msgId = builder.build(); int size = msgId.getSerializedSize(); ByteBuf serialized = Unpooled.buffer(size, size); ByteBufCodedOutputStream stream = ByteBufCodedOutputStream.get(serialized); try { msgId.writeTo(stream); } catch (IOException e) { // This is in-memory serialization, should not fail throw new RuntimeException(e); } msgId.recycle(); builder.recycle(); stream.recycle(); return serialized.array(); }
public static MessageId fromByteArray(byte[] data) throws IOException { checkNotNull(data); ByteBufCodedInputStream inputStream = ByteBufCodedInputStream.get(Unpooled.wrappedBuffer(data, 0, data.length)); PulsarApi.MessageIdData.Builder builder = PulsarApi.MessageIdData.newBuilder(); PulsarApi.MessageIdData idData; try { idData = builder.mergeFrom(inputStream, null).build(); } catch (UninitializedMessageException e) { throw new IOException(e); } MessageIdImpl messageId; if (idData.hasBatchIndex()) { messageId = new BatchMessageIdImpl(idData.getLedgerId(), idData.getEntryId(), idData.getPartition(), idData.getBatchIndex()); } else { messageId = new MessageIdImpl(idData.getLedgerId(), idData.getEntryId(), idData.getPartition()); } inputStream.recycle(); builder.recycle(); idData.recycle(); return messageId; }
public static MessageId fromByteArrayWithTopic(byte[] data, TopicName topicName) throws IOException { checkNotNull(data); ByteBufCodedInputStream inputStream = ByteBufCodedInputStream.get(Unpooled.wrappedBuffer(data, 0, data.length)); PulsarApi.MessageIdData.Builder builder = PulsarApi.MessageIdData.newBuilder(); PulsarApi.MessageIdData idData; try { idData = builder.mergeFrom(inputStream, null).build(); } catch (UninitializedMessageException e) { throw new IOException(e); } MessageId messageId; if (idData.hasBatchIndex()) { messageId = new BatchMessageIdImpl(idData.getLedgerId(), idData.getEntryId(), idData.getPartition(), idData.getBatchIndex()); } else { messageId = new MessageIdImpl(idData.getLedgerId(), idData.getEntryId(), idData.getPartition()); } if (idData.getPartition() > -1 && topicName != null) { messageId = new TopicMessageIdImpl( topicName.getPartition(idData.getPartition()).toString(), topicName.toString(), messageId); } inputStream.recycle(); builder.recycle(); idData.recycle(); return messageId; }
public static ByteBuf newAck(long consumerId, long ledgerId, long entryId, AckType ackType, ValidationError validationError, Map<String,Long> properties) { CommandAck.Builder ackBuilder = CommandAck.newBuilder(); ackBuilder.setConsumerId(consumerId); ackBuilder.setAckType(ackType); MessageIdData.Builder messageIdDataBuilder = MessageIdData.newBuilder(); messageIdDataBuilder.setLedgerId(ledgerId); messageIdDataBuilder.setEntryId(entryId); MessageIdData messageIdData = messageIdDataBuilder.build(); ackBuilder.addMessageId(messageIdData); if (validationError != null) { ackBuilder.setValidationError(validationError); } for (Map.Entry<String,Long> e : properties.entrySet()) { ackBuilder.addProperties( PulsarApi.KeyLongValue.newBuilder().setKey(e.getKey()).setValue(e.getValue()).build()); } CommandAck ack = ackBuilder.build(); ByteBuf res = serializeWithSize(BaseCommand.newBuilder().setType(Type.ACK).setAck(ack)); ack.recycle(); ackBuilder.recycle(); messageIdDataBuilder.recycle(); messageIdData.recycle(); return res; }
public static ByteBuf newSendReceipt(long producerId, long sequenceId, long ledgerId, long entryId) { CommandSendReceipt.Builder sendReceiptBuilder = CommandSendReceipt.newBuilder(); sendReceiptBuilder.setProducerId(producerId); sendReceiptBuilder.setSequenceId(sequenceId); MessageIdData.Builder messageIdBuilder = MessageIdData.newBuilder(); messageIdBuilder.setLedgerId(ledgerId); messageIdBuilder.setEntryId(entryId); MessageIdData messageId = messageIdBuilder.build(); sendReceiptBuilder.setMessageId(messageId); CommandSendReceipt sendReceipt = sendReceiptBuilder.build(); ByteBuf res = serializeWithSize( BaseCommand.newBuilder().setType(Type.SEND_RECEIPT).setSendReceipt(sendReceipt)); messageIdBuilder.recycle(); messageId.recycle(); sendReceiptBuilder.recycle(); sendReceipt.recycle(); return res; }
public static ByteBuf newSeek(long consumerId, long requestId, long ledgerId, long entryId) { CommandSeek.Builder seekBuilder = CommandSeek.newBuilder(); seekBuilder.setConsumerId(consumerId); seekBuilder.setRequestId(requestId); MessageIdData.Builder messageIdBuilder = MessageIdData.newBuilder(); messageIdBuilder.setLedgerId(ledgerId); messageIdBuilder.setEntryId(entryId); MessageIdData messageId = messageIdBuilder.build(); seekBuilder.setMessageId(messageId); CommandSeek seek = seekBuilder.build(); ByteBuf res = serializeWithSize(BaseCommand.newBuilder().setType(Type.SEEK).setSeek(seek)); messageId.recycle(); messageIdBuilder.recycle(); seekBuilder.recycle(); seek.recycle(); return res; }
public Builder toBuilder() { return newBuilder(this); }
public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder(org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData prototype) {
public static Builder newBuilder(org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData prototype) { return newBuilder().mergeFrom(prototype); } public Builder toBuilder() { return newBuilder(this); }
public Builder mergeMessageId(org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData value) { if (((bitField0_ & 0x00000004) == 0x00000004) && messageId_ != org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData.getDefaultInstance()) { messageId_ = org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData.newBuilder(messageId_).mergeFrom(value).buildPartial(); } else { messageId_ = value; } bitField0_ |= 0x00000004; return this; } public Builder clearMessageId() {
public Builder mergeMessageId(org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData value) { if (((bitField0_ & 0x00000002) == 0x00000002) && messageId_ != org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData.getDefaultInstance()) { messageId_ = org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData.newBuilder(messageId_).mergeFrom(value).buildPartial(); } else { messageId_ = value; } bitField0_ |= 0x00000002; return this; } public Builder clearMessageId() {
public Builder mergeMessageId(org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData value) { if (((bitField0_ & 0x00000004) == 0x00000004) && messageId_ != org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData.getDefaultInstance()) { messageId_ = org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData.newBuilder(messageId_).mergeFrom(value).buildPartial(); } else { messageId_ = value; } bitField0_ |= 0x00000004; return this; } public Builder clearMessageId() {
public Builder mergeStartMessageId(org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData value) { if (((bitField0_ & 0x00000100) == 0x00000100) && startMessageId_ != org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData.getDefaultInstance()) { startMessageId_ = org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData.newBuilder(startMessageId_).mergeFrom(value).buildPartial(); } else { startMessageId_ = value; } bitField0_ |= 0x00000100; return this; } public Builder clearStartMessageId() {
public static org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData parseFrom( byte[] data, org.apache.pulsar.shaded.com.google.protobuf.v241.ExtensionRegistryLite extensionRegistry) throws org.apache.pulsar.shaded.com.google.protobuf.v241.InvalidProtocolBufferException { return newBuilder().mergeFrom(data, extensionRegistry) .buildParsed(); } public static org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData parseFrom(java.io.InputStream input)
public static org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData parseFrom( org.apache.pulsar.shaded.com.google.protobuf.v241.CodedInputStream input, org.apache.pulsar.shaded.com.google.protobuf.v241.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return newBuilder().mergeFrom(input, extensionRegistry) .buildParsed(); }
public static org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData parseDelimitedFrom( java.io.InputStream input, org.apache.pulsar.shaded.com.google.protobuf.v241.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { Builder builder = newBuilder(); if (builder.mergeDelimitedFrom(input, extensionRegistry)) { return builder.buildParsed(); } else { return null; } } public static org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData parseFrom(
public Builder mergeLastMessageId(org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData value) { if (((bitField0_ & 0x00000001) == 0x00000001) && lastMessageId_ != org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData.getDefaultInstance()) { lastMessageId_ = org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData.newBuilder(lastMessageId_).mergeFrom(value).buildPartial(); } else { lastMessageId_ = value; } bitField0_ |= 0x00000001; return this; } public Builder clearLastMessageId() {
public static org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { Builder builder = newBuilder(); if (builder.mergeDelimitedFrom(input)) { return builder.buildParsed(); } else { return null; } } public static org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData parseDelimitedFrom(
public static org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData parseFrom( java.io.InputStream input, org.apache.pulsar.shaded.com.google.protobuf.v241.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return newBuilder().mergeFrom(input, extensionRegistry) .buildParsed(); } public static org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData parseDelimitedFrom(java.io.InputStream input)