public class InMemoryDelayedDeliveryTracker extends Object implements DelayedDeliveryTracker, io.netty.util.TimerTask
| Modifier and Type | Field and Description |
|---|---|
static long |
DETECT_FIXED_DELAY_LOOKAHEAD_MESSAGES |
| Modifier and Type | Method and Description |
|---|---|
boolean |
addMessage(long ledgerId,
long entryId,
long deliverAt)
Add a message to the tracker.
|
void |
clear()
Clear all delayed messages from the tracker.
|
void |
close()
Close the subscription tracker and release all resources.
|
long |
getNumberOfDelayedMessages() |
Set<PositionImpl> |
getScheduledMessages(int maxMessages)
Get a set of position of messages that have already reached.
|
boolean |
hasMessageAvailable()
Return true if there's at least a message that is scheduled to be delivered already.
|
void |
resetTickTime(long tickTime)
Reset tick time use zk policies cache.
|
void |
run(io.netty.util.Timeout timeout) |
boolean |
shouldPauseAllDeliveries()
Tells whether the dispatcher should pause any message deliveries, until the DelayedDeliveryTracker has
more messages available.
|
public static final long DETECT_FIXED_DELAY_LOOKAHEAD_MESSAGES
public boolean addMessage(long ledgerId,
long entryId,
long deliverAt)
DelayedDeliveryTrackeraddMessage in interface DelayedDeliveryTrackerledgerId - the ledgerIdentryId - the entryIddeliverAt - the absolute timestamp at which the message should be trackedpublic boolean hasMessageAvailable()
hasMessageAvailable in interface DelayedDeliveryTrackerpublic Set<PositionImpl> getScheduledMessages(int maxMessages)
getScheduledMessages in interface DelayedDeliveryTrackerpublic void resetTickTime(long tickTime)
DelayedDeliveryTrackerresetTickTime in interface DelayedDeliveryTrackertickTime - The tick time for when retrying on delayed delivery messagespublic void clear()
DelayedDeliveryTrackerclear in interface DelayedDeliveryTrackerpublic long getNumberOfDelayedMessages()
getNumberOfDelayedMessages in interface DelayedDeliveryTrackerpublic void run(io.netty.util.Timeout timeout)
throws Exception
run in interface io.netty.util.TimerTaskExceptionpublic void close()
DelayedDeliveryTrackerclose in interface AutoCloseableclose in interface DelayedDeliveryTrackerpublic boolean shouldPauseAllDeliveries()
DelayedDeliveryTrackershouldPauseAllDeliveries in interface DelayedDeliveryTrackerCopyright © 2017–2022 Apache Software Foundation. All rights reserved.