package edu.washington.escience.myria.operator.network; import edu.washington.escience.myria.operator.Operator; import edu.washington.escience.myria.operator.network.distribute.BroadcastDistributeFunction; import edu.washington.escience.myria.parallel.ExchangePairID; import edu.washington.escience.myria.parallel.ipc.IPCConnectionPool; /** A producer that duplicates tuple batches to corresponding consumers. */ public final class LocalMultiwayProducer extends GenericShuffleProducer { /** Required for Java serialization. */ private static final long serialVersionUID = 1L; /** * @param child the child who provides data for this producer to distribute. * @param operatorIDs destination operators the data goes */ public LocalMultiwayProducer(final Operator child, final ExchangePairID[] operatorIDs) { super( child, operatorIDs, new int[] {IPCConnectionPool.SELF_IPC_ID}, new BroadcastDistributeFunction()); this.distributeFunction.setDestinations(1, operatorIDs.length); } }