Package ai.platon.pulsar.common.collect
Class ChainedDataCollector
-
- All Implemented Interfaces:
-
ai.platon.pulsar.common.collect.collector.DataCollector,ai.platon.pulsar.common.collect.collector.PriorityDataCollector,kotlin.Comparable
public class ChainedDataCollector<E extends Object> extends AbstractPriorityDataCollector<E>
-
-
Field Summary
Fields Modifier and Type Field Description private Stringnameprivate final Queue<PriorityDataCollector<E>>collectorsprivate final Integerroundprivate final Integercapacityprivate final Integerpriorityprivate final Integeridprivate final Set<String>labelsprivate Stringlangprivate Stringcountryprivate Stringdistrictprivate final Integersizeprivate final IntegerexternalSizeprivate final IntegerestimatedExternalSizeprivate final IntegerestimatedSizeprivate IntegercollectCountprivate IntegercollectedCountprivate final InstantcreateTimeprivate InstantfirstCollectTimeprivate InstantlastCollectedTimeprivate InstantdeadTimeprivate final DurationcollectTimeprivate final BooleanisDead
-
Constructor Summary
Constructors Constructor Description ChainedDataCollector(Iterable<PriorityDataCollector<E>> initCollectors, Priority13 priority)ChainedDataCollector(PriorityDataCollector<E> initCollectors, Priority13 priority)ChainedDataCollector(Priority13 priority)
-
Method Summary
Modifier and Type Method Description StringgetName()The collector name UnitsetName(String name)The collector name final Queue<PriorityDataCollector<E>>getCollectors()final IntegergetRound()BooleanhasMore()Check if there are more items to collect IntegercollectTo(List<E> sink)Collect items from delegated collectors to the sink. List<String>dump()Dump the collector Unitclear()Clear the collector -
Methods inherited from class ai.platon.pulsar.common.collect.collector.AbstractPriorityDataCollector
getCapacity, getPriority, toString -
Methods inherited from class ai.platon.pulsar.common.collect.collector.AbstractDataCollector
collectTo, collectTo, collectTo, getCollectCount, getCollectTime, getCollectedCount, getCountry, getCreateTime, getDeadTime, getDistrict, getEstimatedExternalSize, getEstimatedSize, getExternalSize, getFirstCollectTime, getId, getLabels, getLang, getLastCollectedTime, getSize, setCollectCount, setCollectedCount, setCountry, setDeadTime, setDistrict, setFirstCollectTime, setLang, setLastCollectedTime -
Methods inherited from class ai.platon.pulsar.common.collect.collector.DataCollector
deepClear, isDead -
Methods inherited from class ai.platon.pulsar.common.collect.collector.PriorityDataCollector
compareTo -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Constructor Detail
-
ChainedDataCollector
ChainedDataCollector(Iterable<PriorityDataCollector<E>> initCollectors, Priority13 priority)
-
ChainedDataCollector
ChainedDataCollector(PriorityDataCollector<E> initCollectors, Priority13 priority)
-
ChainedDataCollector
ChainedDataCollector(Priority13 priority)
-
-
Method Detail
-
getCollectors
final Queue<PriorityDataCollector<E>> getCollectors()
-
collectTo
Integer collectTo(List<E> sink)
Collect items from delegated collectors to the sink. If a delegated collector has priority >= Priority.HIGHEST, the items are added to the front of the sink, or the items are appended to the back of the sink.
All collectors with the same priority have the same chance to choose
-
-
-
-