2121#include < cassert>
2222#include < regex>
2323
24- #pragma GCC diagnostic push
25- #pragma GCC diagnostic ignored "-Wpedantic"
26-
2724namespace o2 ::framework
2825{
2926
@@ -35,7 +32,7 @@ CompletionPolicy CompletionPolicyHelpers::defineByNameOrigin(std::string const&
3532
3633 auto originReceived = std::make_shared<std::vector<uint64_t >>();
3734
38- auto callback = [originReceived, origin, op](InputSpan const & inputRefs) -> CompletionPolicy::CompletionOp {
35+ auto callback = [originReceived, origin, op](InputSpan const & inputRefs, std::vector<InputSpec> const &, ServiceRegistryRef& ) -> CompletionPolicy::CompletionOp {
3936 // update list of the start times of inputs with origin @origin
4037 for (auto & ref : inputRefs) {
4138 if (ref.header != nullptr ) {
@@ -77,7 +74,7 @@ CompletionPolicy CompletionPolicyHelpers::defineByName(std::string const& name,
7774 auto matcher = [name](DeviceSpec const & device) -> bool {
7875 return std::regex_match (device.name .begin (), device.name .end (), std::regex (name));
7976 };
80- auto callback = [op](InputSpan const &) -> CompletionPolicy::CompletionOp {
77+ auto callback = [op](InputSpan const &, std::vector<InputSpec> const & specs, ServiceRegistryRef& ref ) -> CompletionPolicy::CompletionOp {
8178 return op;
8279 };
8380 switch (op) {
@@ -108,7 +105,8 @@ CompletionPolicy CompletionPolicyHelpers::defineByName(std::string const& name,
108105
109106CompletionPolicy CompletionPolicyHelpers::consumeWhenAll (const char * name, CompletionPolicy::Matcher matcher)
110107{
111- auto callback = [](InputSpan const & inputs) -> CompletionPolicy::CompletionOp {
108+ auto callback = [](InputSpan const & inputs, std::vector<InputSpec> const & specs, ServiceRegistryRef& ref) -> CompletionPolicy::CompletionOp {
109+ assert (inputs.size () == specs.size ());
112110 for (auto & input : inputs) {
113111 if (input.header == nullptr ) {
114112 return CompletionPolicy::CompletionOp::Wait;
@@ -123,7 +121,7 @@ CompletionPolicy CompletionPolicyHelpers::consumeWhenAllOrdered(const char* name
123121{
124122 auto callbackFull = [](InputSpan const & inputs, std::vector<InputSpec> const &, ServiceRegistryRef& ref) -> CompletionPolicy::CompletionOp {
125123 auto & decongestionService = ref.get <DecongestionService>();
126- decongestionService.orderedCompletionPolicyActive = 1 ;
124+ decongestionService.orderedCompletionPolicyActive = true ;
127125 for (auto & input : inputs) {
128126 if (input.header == nullptr ) {
129127 return CompletionPolicy::CompletionOp::Wait;
@@ -199,7 +197,7 @@ CompletionPolicy CompletionPolicyHelpers::consumeExistingWhenAny(const char* nam
199197
200198CompletionPolicy CompletionPolicyHelpers::consumeWhenAny (const char * name, CompletionPolicy::Matcher matcher)
201199{
202- auto callback = [](InputSpan const & inputs) -> CompletionPolicy::CompletionOp {
200+ auto callback = [](InputSpan const & inputs, std::vector<InputSpec> const &, ServiceRegistryRef& ref ) -> CompletionPolicy::CompletionOp {
203201 for (auto & input : inputs) {
204202 if (input.header != nullptr ) {
205203 return CompletionPolicy::CompletionOp::Consume;
@@ -289,7 +287,7 @@ CompletionPolicy CompletionPolicyHelpers::consumeWhenAnyWithAllConditions(std::s
289287
290288CompletionPolicy CompletionPolicyHelpers::processWhenAny (const char * name, CompletionPolicy::Matcher matcher)
291289{
292- auto callback = [](InputSpan const & inputs) -> CompletionPolicy::CompletionOp {
290+ auto callback = [](InputSpan const & inputs, std::vector<InputSpec> const &, ServiceRegistryRef& ref ) -> CompletionPolicy::CompletionOp {
293291 size_t present = 0 ;
294292 for (auto & input : inputs) {
295293 if (input.header != nullptr ) {
@@ -307,4 +305,3 @@ CompletionPolicy CompletionPolicyHelpers::processWhenAny(const char* name, Compl
307305}
308306
309307} // namespace o2::framework
310- #pragma GCC diagnostic pop
0 commit comments