use of org.apache.beam.runners.fnexecution.control.ProcessBundleDescriptors.TimerSpec in project beam by apache.
the class DefaultJobBundleFactory method getTimerReceivers.
private static Map<KV<String, String>, RemoteOutputReceiver<Timer<?>>> getTimerReceivers(ExecutableProcessBundleDescriptor processBundleDescriptor, TimerReceiverFactory timerReceiverFactory) {
ImmutableMap.Builder<KV<String, String>, RemoteOutputReceiver<Timer<?>>> timerReceivers = ImmutableMap.builder();
for (Map.Entry<String, Map<String, TimerSpec>> transformTimerSpecs : processBundleDescriptor.getTimerSpecs().entrySet()) {
for (TimerSpec timerSpec : transformTimerSpecs.getValue().values()) {
FnDataReceiver<Timer<?>> receiver = (FnDataReceiver) timerReceiverFactory.create(timerSpec.transformId(), timerSpec.timerId());
timerReceivers.put(KV.of(timerSpec.transformId(), timerSpec.timerId()), RemoteOutputReceiver.of(timerSpec.coder(), receiver));
}
}
return timerReceivers.build();
}
Aggregations