Class UnAckedMessageTracker

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable
    Direct Known Subclasses:
    UnAckedTopicMessageTracker

    public class UnAckedMessageTracker
    extends java.lang.Object
    implements java.io.Closeable
    • Field Detail

      • messageIdPartitionMap

        protected final java.util.concurrent.ConcurrentHashMap<org.apache.pulsar.client.api.MessageId,​org.apache.pulsar.common.util.collections.ConcurrentOpenHashSet<org.apache.pulsar.client.api.MessageId>> messageIdPartitionMap
      • timePartitions

        protected final java.util.ArrayDeque<org.apache.pulsar.common.util.collections.ConcurrentOpenHashSet<org.apache.pulsar.client.api.MessageId>> timePartitions
      • readLock

        protected final java.util.concurrent.locks.Lock readLock
      • writeLock

        protected final java.util.concurrent.locks.Lock writeLock
      • UNACKED_MESSAGE_TRACKER_DISABLED

        public static final org.apache.pulsar.client.impl.UnAckedMessageTracker.UnAckedMessageTrackerDisabled UNACKED_MESSAGE_TRACKER_DISABLED
    • Constructor Detail

      • UnAckedMessageTracker

        public UnAckedMessageTracker()
      • UnAckedMessageTracker

        public UnAckedMessageTracker​(PulsarClientImpl client,
                                     ConsumerBase<?> consumerBase,
                                     long ackTimeoutMillis,
                                     long tickDurationInMs)
    • Method Detail

      • addChunkedMessageIdsAndRemoveFromSequenceMap

        public static void addChunkedMessageIdsAndRemoveFromSequenceMap​(org.apache.pulsar.client.api.MessageId messageId,
                                                                        java.util.Set<org.apache.pulsar.client.api.MessageId> messageIds,
                                                                        ConsumerBase<?> consumerBase)
      • clear

        public void clear()
      • add

        public boolean add​(org.apache.pulsar.client.api.MessageId messageId)
      • remove

        public boolean remove​(org.apache.pulsar.client.api.MessageId messageId)
      • removeMessagesTill

        public int removeMessagesTill​(org.apache.pulsar.client.api.MessageId msgId)
      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable