Package org.apache.pulsar.broker.service
Interface Dispatcher
- All Known Subinterfaces:
NonPersistentDispatcher,StreamingDispatcher
- All Known Implementing Classes:
AbstractBaseDispatcher,AbstractDispatcherMultipleConsumers,AbstractDispatcherSingleActiveConsumer,NonPersistentDispatcherMultipleConsumers,NonPersistentDispatcherSingleActiveConsumer,NonPersistentStickyKeyDispatcherMultipleConsumers,PersistentDispatcherMultipleConsumers,PersistentDispatcherSingleActiveConsumer,PersistentStickyKeyDispatcherMultipleConsumers,PersistentStreamingDispatcherMultipleConsumers,PersistentStreamingDispatcherSingleActiveConsumer
public interface Dispatcher
-
Method Summary
Modifier and TypeMethodDescriptionvoidaddConsumer(Consumer consumer) voidaddUnAckedMessages(int unAckMessages) booleancanUnsubscribe(Consumer consumer) default booleanChecks if dispatcher is stuck and unblocks the dispatch if needed.default voidclose()mark dispatcher closed to stop new incoming requests and disconnect all consumers.voidconsumerFlow(Consumer consumer, int additionalNumberOfMessages) Indicates that this consumer is now ready to receive more messages.default voiddisconnectActiveConsumers(boolean isResetCursor) Disconnect active consumers.default CompletableFuture<Void>disconnectAllConsumers(boolean isResetCursor) disconnect all consumers.default longdefault longdefault longdefault longdefault longdefault Optional<DispatchRateLimiter>org.apache.pulsar.common.api.proto.CommandSubscribe.SubTypegetType()default booleanbooleanisClosed()booleandefault voidvoidredeliverUnacknowledgedMessages(Consumer consumer, long consumerEpoch) voidredeliverUnacknowledgedMessages(Consumer consumer, List<org.apache.bookkeeper.mledger.impl.PositionImpl> positions) voidremoveConsumer(Consumer consumer) voidreset()mark dispatcher open to serve new incoming requests.voiddefault booleantrackDelayedDelivery(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.default void
-
Method Details
-
addConsumer
- Throws:
BrokerServiceException
-
removeConsumer
- Throws:
BrokerServiceException
-
consumerFlow
Indicates that this consumer is now ready to receive more messages.- Parameters:
consumer-
-
isConsumerConnected
boolean isConsumerConnected() -
getConsumers
-
canUnsubscribe
-
close
CompletableFuture<Void> close()mark dispatcher closed to stop new incoming requests and disconnect all consumers.- Returns:
-
isClosed
boolean isClosed() -
disconnectActiveConsumers
Disconnect active consumers. -
disconnectAllConsumers
disconnect all consumers.- Returns:
-
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
-
redeliverUnacknowledgedMessages
-
addUnAckedMessages
void addUnAckedMessages(int unAckMessages) -
getRedeliveryTracker
RedeliveryTracker getRedeliveryTracker() -
getRateLimiter
-
updateRateLimiter
default void updateRateLimiter() -
initializeDispatchRateLimiterIfNeeded
default boolean initializeDispatchRateLimiterIfNeeded() -
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. -
getFilterProcessedMsgCount
default long getFilterProcessedMsgCount() -
getFilterAcceptedMsgCount
default long getFilterAcceptedMsgCount() -
getFilterRejectedMsgCount
default long getFilterRejectedMsgCount() -
getFilterRescheduledMsgCount
default long getFilterRescheduledMsgCount()
-