Class Consumer

java.lang.Object
org.apache.pulsar.broker.service.Consumer

public class Consumer extends Object
A Consumer is a consumer currently connected and associated with a Subscription.
  • Constructor Details

    • Consumer

      public Consumer(Subscription subscription, org.apache.pulsar.common.api.proto.CommandSubscribe.SubType subType, String topicName, long consumerId, int priorityLevel, String consumerName, boolean isDurable, TransportCnx cnx, String appId, Map<String,String> metadata, boolean readCompacted, org.apache.pulsar.common.api.proto.KeySharedMeta keySharedMeta, org.apache.pulsar.client.api.MessageId startMessageId, long consumerEpoch)
  • Method Details

    • subType

      public org.apache.pulsar.common.api.proto.CommandSubscribe.SubType subType()
    • consumerId

      public long consumerId()
    • consumerName

      public String consumerName()
    • readCompacted

      public boolean readCompacted()
    • sendMessages

      public io.netty.util.concurrent.Future<Void> sendMessages(List<? extends org.apache.bookkeeper.mledger.Entry> entries, EntryBatchSizes batchSizes, EntryBatchIndexesAcks batchIndexesAcks, int totalMessages, long totalBytes, long totalChunkedMessages, RedeliveryTracker redeliveryTracker)
    • sendMessages

      public io.netty.util.concurrent.Future<Void> sendMessages(List<? extends org.apache.bookkeeper.mledger.Entry> entries, EntryBatchSizes batchSizes, EntryBatchIndexesAcks batchIndexesAcks, int totalMessages, long totalBytes, long totalChunkedMessages, RedeliveryTracker redeliveryTracker, long epoch)
      Dispatch a list of entries to the consumer.
      It is also responsible to release entries data and recycle entries object.
      Returns:
      a SendMessageInfo object that contains the detail of what was sent to consumer
    • isWritable

      public boolean isWritable()
    • close

      public void close() throws BrokerServiceException
      Close the consumer if: a. the connection is dropped b. connection is open (graceful close) and there are no pending message acks
      Throws:
      BrokerServiceException
    • close

      public void close(boolean isResetCursor) throws BrokerServiceException
      Throws:
      BrokerServiceException
    • disconnect

      public void disconnect()
    • disconnect

      public void disconnect(boolean isResetCursor)
    • doUnsubscribe

      public void doUnsubscribe(long requestId)
    • messageAcked

      public CompletableFuture<Void> messageAcked(org.apache.pulsar.common.api.proto.CommandAck ack)
    • flowPermits

      public void flowPermits(int additionalNumberOfMessages)
    • getAvailablePermits

      public int getAvailablePermits()
    • getAvgMessagesPerEntry

      public int getAvgMessagesPerEntry()
      return 0 if there is no entry dispatched yet.
    • isBlocked

      public boolean isBlocked()
    • reachedEndOfTopic

      public void reachedEndOfTopic()
    • updateRates

      public void updateRates()
    • updateStats

      public void updateStats(org.apache.pulsar.common.policies.data.stats.ConsumerStatsImpl consumerStats)
    • getStats

      public org.apache.pulsar.common.policies.data.stats.ConsumerStatsImpl getStats()
    • getMsgOutCounter

      public long getMsgOutCounter()
    • getBytesOutCounter

      public long getBytesOutCounter()
    • getUnackedMessages

      public int getUnackedMessages()
    • getKeySharedMeta

      public org.apache.pulsar.common.api.proto.KeySharedMeta getKeySharedMeta()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • checkPermissionsAsync

      public CompletableFuture<Void> checkPermissionsAsync()
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • getPendingAcks

      public org.apache.pulsar.common.util.collections.ConcurrentLongLongPairHashMap getPendingAcks()
    • getPriorityLevel

      public int getPriorityLevel()
    • redeliverUnacknowledgedMessages

      public void redeliverUnacknowledgedMessages(long consumerEpoch)
    • redeliverUnacknowledgedMessages

      public void redeliverUnacknowledgedMessages(List<org.apache.pulsar.common.api.proto.MessageIdData> messageIds)
    • getSubscription

      public Subscription getSubscription()
    • isPreciseDispatcherFlowControl

      public boolean isPreciseDispatcherFlowControl()
    • setReadPositionWhenJoining

      public void setReadPositionWhenJoining(org.apache.bookkeeper.mledger.impl.PositionImpl readPositionWhenJoining)
    • getMaxUnackedMessages

      public int getMaxUnackedMessages()
    • cnx

      public TransportCnx cnx()
    • getClientAddress

      public String getClientAddress()
    • getStartMessageId

      public org.apache.pulsar.client.api.MessageId getStartMessageId()
    • getMetadata

      public Map<String,String> getMetadata()