public Builder setMessageId( int index, org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData.Builder builderForValue) { ensureMessageIdIsMutable(); messageId_.set(index, builderForValue.build()); return this; } public Builder addMessageId(org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData value) {
public Builder addMessageIds( int index, org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData.Builder builderForValue) { ensureMessageIdsIsMutable(); messageIds_.add(index, builderForValue.build()); return this; } public Builder addAllMessageIds(
public Builder addMessageIds( org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData.Builder builderForValue) { ensureMessageIdsIsMutable(); messageIds_.add(builderForValue.build()); return this; } public Builder addMessageIds(
startMessageIdData = builder.build(); builder.recycle();
builder.setLedgerId(messageId.getLedgerId()); builder.setEntryId(messageId.getEntryId()); return builder.build(); }).collect(Collectors.toList()); ByteBuf cmd = Commands.newRedeliverUnacknowledgedMessages(consumerId, messageIdDatas);
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; }
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 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; }
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 setMessageId( org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData.Builder builderForValue) { messageId_ = builderForValue.build(); bitField0_ |= 0x00000004; return this; } public Builder mergeMessageId(org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData value) {
public Builder setLastMessageId( org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData.Builder builderForValue) { lastMessageId_ = builderForValue.build(); bitField0_ |= 0x00000001; return this; } public Builder mergeLastMessageId(org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData value) {
public Builder setMessageIds( int index, org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData.Builder builderForValue) { ensureMessageIdsIsMutable(); messageIds_.set(index, builderForValue.build()); return this; } public Builder addMessageIds(org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData value) {
public Builder addMessageId( int index, org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData.Builder builderForValue) { ensureMessageIdIsMutable(); messageId_.add(index, builderForValue.build()); return this; } public Builder addAllMessageId(
public Builder addMessageId( org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData.Builder builderForValue) { ensureMessageIdIsMutable(); messageId_.add(builderForValue.build()); return this; } public Builder addMessageId(
public Builder setMessageId( org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData.Builder builderForValue) { messageId_ = builderForValue.build(); bitField0_ |= 0x00000004; return this; } public Builder mergeMessageId(org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData value) {
public Builder setStartMessageId( org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData.Builder builderForValue) { startMessageId_ = builderForValue.build(); bitField0_ |= 0x00000100; return this; } public Builder mergeStartMessageId(org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData value) {
public Builder setMessageId( org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData.Builder builderForValue) { messageId_ = builderForValue.build(); bitField0_ |= 0x00000002; return this; } public Builder mergeMessageId(org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData value) {