Interface BatchMessageContainerBase

All Superinterfaces:
org.apache.pulsar.client.api.BatchMessageContainer
All Known Implementing Classes:
AbstractBatchMessageContainer

public interface BatchMessageContainerBase extends org.apache.pulsar.client.api.BatchMessageContainer
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    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.
    boolean
    Check the batch message container has same schema with the message want to add.
    boolean
    Check whether the added message belong to the same txn with batch message container.
    boolean
    Check the batch message container have enough space for the message want to add.
    void
    Set producer of the message batch container.

    Methods inherited from interface org.apache.pulsar.client.api.BatchMessageContainer

    clear, discard, getCurrentBatchSize, getNumMessagesInBatch, isEmpty, isMultiBatches
  • Method Details

    • add

      boolean add(MessageImpl<?> msg, SendCallback callback)
      Add message to the batch message container.
      Parameters:
      msg - message will add to the batch message container
      callback - message send callback
      Returns:
      true if the batch is full, otherwise false
    • haveEnoughSpace

      boolean haveEnoughSpace(MessageImpl<?> msg)
      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

      boolean hasSameSchema(MessageImpl<?> msg)
      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

      void setProducer(ProducerImpl<?> producer)
      Set producer of the message batch container.
      Parameters:
      producer - producer
    • createOpSendMsgs

      List<ProducerImpl.OpSendMsg> createOpSendMsgs() throws IOException
      Create list of OpSendMsg, producer use OpSendMsg to send to the broker.
      Returns:
      list of OpSendMsg
      Throws:
      IOException
    • createOpSendMsg

      ProducerImpl.OpSendMsg createOpSendMsg() throws IOException
      Create OpSendMsg, producer use OpSendMsg to send to the broker.
      Returns:
      OpSendMsg
      Throws:
      IOException
    • hasSameTxn

      boolean hasSameTxn(MessageImpl<?> msg)
      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