-
- All Implemented Interfaces:
-
ai.platon.pulsar.common.collect.Loadable,ai.platon.pulsar.common.collect.queue.LoadingQueue,java.util.Queue,kotlin.collections.Collection,kotlin.collections.Iterable,kotlin.collections.MutableCollection,kotlin.collections.MutableIterable
public class DelayLoadingQueue extends AbstractLoadingQueue
A delay loading queue to reduce IO
-
-
Field Summary
Fields Modifier and Type Field Description private final DurationidleTimeprivate final BooleanisIdleprivate final BooleanisBusyprivate final DurationadjustedEstimateDelayprivate final BooleanisExpiredprivate final IntegerestimatedExternalSizeprivate DurationloadDelayprivate DurationestimateDelayprivate IntegerloadCountprivate IntegersavedCountprivate final Collection<UrlAware>cacheprivate final Integersizeprivate final IntegerexternalSizeprivate final IntegerfreeSlotsprivate final BooleanisFullprivate final ExternalUrlLoaderloaderprivate final UrlTopictopicprivate final Function1<UrlAware, UrlAware>transformer
-
Constructor Summary
Constructors Constructor Description DelayLoadingQueue(ExternalUrlLoader loader, UrlTopic topic, Duration loadDelay, Duration estimateDelay, Function1<UrlAware, UrlAware> transformer)
-
Method Summary
-
Methods inherited from class ai.platon.pulsar.common.collect.queue.DelayLoadingQueue
add, addAll, clear, deepClear, externalClear, iterator, offer, overflow, overflow, removeIf, shuffle -
Methods inherited from class ai.platon.pulsar.common.collect.queue.AbstractLoadingQueue
element, remove -
Methods inherited from class java.util.AbstractQueue
contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString -
Methods inherited from class kotlin.collections.Collection
forEach -
Methods inherited from class kotlin.collections.MutableCollection
parallelStream, spliterator, stream, toArray -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Method Detail
-
getIdleTime
final Duration getIdleTime()
-
getAdjustedEstimateDelay
final Duration getAdjustedEstimateDelay()
-
getIsExpired
final Boolean getIsExpired()
-
getEstimatedExternalSize
@Synchronized() Integer getEstimatedExternalSize()
-
getLoadDelay
final Duration getLoadDelay()
The delay time to load after another load
-
setLoadDelay
final Unit setLoadDelay(Duration loadDelay)
The delay time to load after another load
-
getEstimateDelay
final Duration getEstimateDelay()
-
setEstimateDelay
final Unit setEstimateDelay(Duration estimateDelay)
-
getLoadCount
final Integer getLoadCount()
-
setLoadCount
final Unit setLoadCount(Integer loadCount)
-
getSavedCount
final Integer getSavedCount()
-
setSavedCount
final Unit setSavedCount(Integer savedCount)
-
getCache
final Collection<UrlAware> getCache()
-
getSize
@Synchronized() Integer getSize()
-
getExternalSize
@Synchronized() Integer getExternalSize()
-
getFreeSlots
@Synchronized() final Integer getFreeSlots()
-
getIsFull
@Synchronized() final Boolean getIsFull()
-
getLoader
final ExternalUrlLoader getLoader()
-
getTransformer
final Function1<UrlAware, UrlAware> getTransformer()
-
load
@Synchronized() Unit load()
-
load
@Synchronized() final Unit load(Duration delay)
-
loadNow
@Synchronized() Collection<UrlAware> loadNow()
-
peek
@Synchronized() UrlAware peek()
-
poll
@Synchronized() UrlAware poll()
-
-
-
-