Skip to content

Commit cb9286c

Browse files
committed
DPL: disable early forwarding for output proxies
1 parent 0df45c4 commit cb9286c

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

Framework/Core/src/DataProcessingDevice.cxx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1070,6 +1070,15 @@ void DataProcessingDevice::fillContext(DataProcessorContext& context, DeviceCont
10701070
break;
10711071
}
10721072
}
1073+
// Output proxies should wait for the completion policy before forwarding.
1074+
// Because they actually do not do anything, that's equivalent to
1075+
// forwarding after the processing.
1076+
for (auto& label : spec.labels) {
1077+
if (label.value == "output-proxy") {
1078+
defaultEarlyForwardPolicy = ForwardPolicy::AfterProcessing;
1079+
break;
1080+
}
1081+
}
10731082

10741083
/// We must make sure there is no optional
10751084
/// if we want to optimize the forwarding

Framework/Core/src/ExternalFairMQDeviceProxy.cxx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1045,6 +1045,7 @@ DataProcessorSpec specifyFairMQDeviceOutputProxy(char const* name,
10451045
spec.options = {
10461046
ConfigParamSpec{"channel-config", VariantType::String, d, {"Out-of-band channel config"}},
10471047
};
1048+
spec.labels.push_back(DataProcessorLabel{"output-proxy"});
10481049

10491050
return spec;
10501051
}
@@ -1180,6 +1181,7 @@ DataProcessorSpec specifyFairMQDeviceMultiOutputProxy(char const* name,
11801181
spec.options = {
11811182
ConfigParamSpec{"channel-config", VariantType::String, d, {"Out-of-band channel config"}},
11821183
};
1184+
spec.labels.push_back(DataProcessorLabel{"output-proxy"});
11831185

11841186
return spec;
11851187
}

0 commit comments

Comments
 (0)