Class Consumer


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

      • Consumer

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

      • subType

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

        public long consumerId()
      • consumerName

        public java.lang.String consumerName()
      • readCompacted

        public boolean readCompacted()
      • sendMessages

        public io.netty.util.concurrent.Future<java.lang.Void> sendMessages​(java.util.List<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<java.lang.Void> sendMessages​(java.util.List<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()
      • disconnect

        public void disconnect()
      • disconnect

        public void disconnect​(boolean isResetCursor)
      • doUnsubscribe

        public void doUnsubscribe​(long requestId)
      • messageAcked

        public java.util.concurrent.CompletableFuture<java.lang.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 java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • checkPermissionsAsync

        public java.util.concurrent.CompletableFuture<java.lang.Void> checkPermissionsAsync()
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.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​(java.util.List<org.apache.pulsar.common.api.proto.MessageIdData> messageIds)
      • isPreciseDispatcherFlowControl

        public boolean isPreciseDispatcherFlowControl()
      • setReadPositionWhenJoining

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

        public int getMaxUnackedMessages()
      • getClientAddress

        public java.lang.String getClientAddress()
      • getStartMessageId

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

        public java.util.Map<java.lang.String,​java.lang.String> getMetadata()