public Junction(OutputSlot<?> sourceOutput, List<InputSlot<?>> targetInputs, List<OptimizationContext> optimizationContexts) { // Copy parameters. assert sourceOutput.getOwner().isExecutionOperator(); this.sourceOutput = sourceOutput; assert targetInputs.stream().allMatch(input -> input.getOwner().isExecutionOperator()); this.targetInputs = targetInputs; // Fill with nulls. this.targetChannels = RheemCollections.map(this.targetInputs, input -> null); // Get hold of an OptimizationContext. this.optimizationContexts = optimizationContexts; }
final List<Set<PlanImplementation>> groupPlans = RheemCollections.map( concatGroupCombo, concatGroup -> {
this.destChannelDescriptorSets = RheemCollections.map(destInputs, this::resolveSupportedChannels); assert this.destChannelDescriptorSets.stream().noneMatch(Collection::isEmpty); this.kernelizeChannelRequests();