Add MessageId::batchSize() and the MessageIdBuilder #105
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Master issue: #87
Motivation
To support batch index acknowledgment, we must provide a method to get the batch size of a batched message ID.
Modifications
Instead of adding another overload constructor to
MessageId, this PR adds aMessageIdBuilderclass to construct theMessageIdin a more elegant way.The original constructor is counterintuitive because the partition index is the 1st argument.
pulsar-client-cpp/include/pulsar/MessageId.h
Line 47 in 74ef1a0
Therefore, this PR marks it as deprecated and replace all invocations of it with the
MessageIdBuilderusages.To verify the
MessageId::batchSize(), the following tests are modified:BatchMessageTest.testBatchSizeInBytes: the batch size is always 2 because of thebatchingMaxAllowedSizeInBytesconfig.MessageChunkingTest.testEndToEnd: the batch size field is not set(default: 0) because batching is disabled.
Documentation
doc-required(Your PR needs to update docs and you will update later)
doc-not-needed(Please explain why)
doc(Your PR contains doc changes)
doc-complete(Docs have been already added)