Class DefaultProducerWorkerFactory<OutputT,MetricsT>

java.lang.Object
io.aleph0.yap.core.worker.DefaultProducerWorkerFactory<OutputT,MetricsT>
Type Parameters:
OutputT - the type of the output
MetricsT - the type of the metrics
All Implemented Interfaces:
Measureable<MetricsT>, ProducerWorkerFactory<OutputT,MetricsT>

public class DefaultProducerWorkerFactory<OutputT,MetricsT> extends Object implements ProducerWorkerFactory<OutputT,MetricsT>
A ProducerWorkerFactory that creates and manages multiple MeasuredProducerWorkers and tracks their metrics.

This factory uses a BinaryOperator to aggregate the metrics of all active workers. If there are no active workers, the metrics will be null. If there is one active worker, the metrics will be the metrics of that worker. If there are multiple active workers, the metrics will be the result of applying the BinaryOperator to the metrics of all active workers.