Class MessageRedeliveryController
java.lang.Object
org.apache.pulsar.broker.service.persistent.MessageRedeliveryController
The MessageRedeliveryController is a non-thread-safe container for maintaining the redelivery messages.
-
Constructor Summary
ConstructorsConstructorDescriptionMessageRedeliveryController(boolean allowOutOfOrderDelivery) MessageRedeliveryController(boolean allowOutOfOrderDelivery, boolean isClassicDispatcher) -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(long ledgerId, long entryId) voidadd(long ledgerId, long entryId, long stickyKeyHash) voidclear()booleancontainsStickyKeyHash(int stickyKeyHash) booleancontainsStickyKeyHashes(Set<Integer> stickyKeyHashes) getHash(long ledgerId, long entryId) getMessagesToReplayNow(int maxMessagesToRead, Predicate<Position> filter) Get the messages to replay now.booleanisEmpty()voidremove(long ledgerId, long entryId) voidremoveAllUpTo(long markDeleteLedgerId, long markDeleteEntryId) intsize()Get the number of messages registered for replay in the redelivery controller.toString()
-
Constructor Details
-
MessageRedeliveryController
public MessageRedeliveryController(boolean allowOutOfOrderDelivery) -
MessageRedeliveryController
public MessageRedeliveryController(boolean allowOutOfOrderDelivery, boolean isClassicDispatcher)
-
-
Method Details
-
add
public void add(long ledgerId, long entryId) -
add
public void add(long ledgerId, long entryId, long stickyKeyHash) -
remove
public void remove(long ledgerId, long entryId) -
getHash
-
removeAllUpTo
public void removeAllUpTo(long markDeleteLedgerId, long markDeleteEntryId) -
isEmpty
public boolean isEmpty() -
clear
public void clear() -
toString
-
containsStickyKeyHashes
-
containsStickyKeyHash
public boolean containsStickyKeyHash(int stickyKeyHash) -
getFirstPositionInReplay
-
getMessagesToReplayNow
public NavigableSet<Position> getMessagesToReplayNow(int maxMessagesToRead, Predicate<Position> filter) Get the messages to replay now.- Parameters:
maxMessagesToRead- the max messages to readfilter- the filter to use to select the messages to replay- Returns:
- the messages to replay now
-
size
public int size()Get the number of messages registered for replay in the redelivery controller.- Returns:
- number of messages
-