<TInput, TOutput> void sendAggregateFunction(final int aggregateFunctionId,
                                               final VortexAggregateFunction<TOutput> aggregateFunction,
                                               final VortexFunction<TInput, TOutput> function,
                                               final VortexAggregatePolicy policy) {
    final TaskletAggregationRequest<TInput, TOutput> taskletAggregationRequest =
        new TaskletAggregationRequest<>(aggregateFunctionId, aggregateFunction, function, policy);

    // The send is synchronous such that we make sure that the aggregate function is sent to the
    // target worker before attempting to launch an aggregateable tasklet on it.
    vortexRequestor.send(reefTask, taskletAggregationRequest);
  }
< TInput , TOutput > void sendAggregateFunction ( final int aggregateFunctionId , final VortexAggregateFunction < TOutput > aggregateFunction , final VortexFunction < TInput , TOutput > function , final VortexAggregatePolicy policy ) { final TaskletAggregationRequest < TInput , TOutput > taskletAggregationRequest = new TaskletAggregationRequest < > ( aggregateFunctionId , aggregateFunction , function , policy ) ; vortexRequestor . send ( reefTask , taskletAggregationRequest ) ; }
Sends an {@link VortexAggregateFunction} and its {@link VortexFunction} to a
{@link org.apache.reef.vortex.evaluator.VortexWorker}.