Interface Dispatcher

    • Method Detail

      • consumerFlow

        void consumerFlow​(Consumer consumer,
                          int additionalNumberOfMessages)
        Indicates that this consumer is now ready to receive more messages.
        Parameters:
        consumer -
      • isConsumerConnected

        boolean isConsumerConnected()
      • getConsumers

        java.util.List<Consumer> getConsumers()
      • canUnsubscribe

        boolean canUnsubscribe​(Consumer consumer)
      • close

        java.util.concurrent.CompletableFuture<java.lang.Void> close()
        mark dispatcher closed to stop new incoming requests and disconnect all consumers.
        Returns:
      • isClosed

        boolean isClosed()
      • disconnectActiveConsumers

        java.util.concurrent.CompletableFuture<java.lang.Void> disconnectActiveConsumers​(boolean isResetCursor)
        Disconnect active consumers.
      • disconnectAllConsumers

        java.util.concurrent.CompletableFuture<java.lang.Void> disconnectAllConsumers​(boolean isResetCursor)
        disconnect all consumers.
        Returns:
      • disconnectAllConsumers

        default java.util.concurrent.CompletableFuture<java.lang.Void> disconnectAllConsumers()
      • resetCloseFuture

        void resetCloseFuture()
      • reset

        void reset()
        mark dispatcher open to serve new incoming requests.
      • getType

        org.apache.pulsar.common.api.proto.CommandSubscribe.SubType getType()
      • redeliverUnacknowledgedMessages

        void redeliverUnacknowledgedMessages​(Consumer consumer)
      • redeliverUnacknowledgedMessages

        void redeliverUnacknowledgedMessages​(Consumer consumer,
                                             java.util.List<org.apache.bookkeeper.mledger.impl.PositionImpl> positions)
      • addUnAckedMessages

        void addUnAckedMessages​(int unAckMessages)
      • updateRateLimiter

        default void updateRateLimiter​(org.apache.pulsar.common.policies.data.DispatchRate dispatchRate)
      • initializeDispatchRateLimiterIfNeeded

        default void initializeDispatchRateLimiterIfNeeded​(java.util.Optional<org.apache.pulsar.common.policies.data.Policies> policies)
      • trackDelayedDelivery

        default boolean trackDelayedDelivery​(long ledgerId,
                                             long entryId,
                                             org.apache.pulsar.common.api.proto.MessageMetadata msgMetadata)
        Check with dispatcher if the message should be added to the delayed delivery tracker. Return true if the message should be delayed and ignored at this point.
      • getNumberOfDelayedMessages

        default long getNumberOfDelayedMessages()
      • clearDelayedMessages

        default void clearDelayedMessages()
      • cursorIsReset

        default void cursorIsReset()
      • markDeletePositionMoveForward

        default void markDeletePositionMoveForward()
      • checkAndUnblockIfStuck

        default boolean checkAndUnblockIfStuck()
        Checks if dispatcher is stuck and unblocks the dispatch if needed.