Package org.apache.pulsar.client.impl
Interface BatchMessageContainerBase
- All Superinterfaces:
BatchMessageContainer
- All Known Implementing Classes:
AbstractBatchMessageContainer
-
Method Summary
Modifier and TypeMethodDescriptionboolean
add
(MessageImpl<?> msg, SendCallback callback) Add message to the batch message container.Create OpSendMsg, producer use OpSendMsg to send to the broker.Create list of OpSendMsg, producer use OpSendMsg to send to the broker.long
Get the timestamp in nanoseconds when the 1st message is added into the batch container.boolean
hasSameSchema
(MessageImpl<?> msg) Check the batch message container has same schema with the message want to add.boolean
hasSameTxn
(MessageImpl<?> msg) Check whether the added message belong to the same txn with batch message container.boolean
haveEnoughSpace
(MessageImpl<?> msg) Check the batch message container have enough space for the message want to add.void
setProducer
(ProducerImpl<?> producer) Set producer of the message batch container.Methods inherited from interface org.apache.pulsar.client.api.BatchMessageContainer
clear, discard, getBatchAllocatedSizeBytes, getCurrentBatchSize, getNumMessagesInBatch, isEmpty, isMultiBatches
-
Method Details
-
add
Add message to the batch message container.- Parameters:
msg
- message will add to the batch message containercallback
- message send callback- Returns:
- true if the batch is full, otherwise false
-
haveEnoughSpace
Check the batch message container have enough space for the message want to add.- Parameters:
msg
- the message want to add- Returns:
- return true if the container have enough space for the specific message, otherwise return false.
-
hasSameSchema
Check the batch message container has same schema with the message want to add.- Parameters:
msg
- the message want to add- Returns:
- return true if the container has same schema with the specific message, otherwise return false.
-
setProducer
Set producer of the message batch container.- Parameters:
producer
- producer
-
createOpSendMsgs
Create list of OpSendMsg, producer use OpSendMsg to send to the broker.- Returns:
- list of OpSendMsg
- Throws:
IOException
-
createOpSendMsg
Create OpSendMsg, producer use OpSendMsg to send to the broker.- Returns:
- OpSendMsg
- Throws:
IOException
-
hasSameTxn
Check whether the added message belong to the same txn with batch message container.- Parameters:
msg
- added message- Returns:
- belong to the same txn or not
-
getFirstAddedTimestamp
long getFirstAddedTimestamp()Get the timestamp in nanoseconds when the 1st message is added into the batch container.- Returns:
- the timestamp in nanoseconds or 0L if the batch container is empty
-