#include <DisabledResources.hpp>
Definition at line 16 of file DisabledResources.hpp.
◆ DisabledResources() [1/2]
dunedaq::confmodel::DisabledResources::DisabledResources |
( |
| ) |
|
|
default |
◆ DisabledResources() [2/2]
DisabledResources::DisabledResources |
( |
const ResourceSet * | root, |
|
|
std::vector< const Resource * > | initial_list ) |
Definition at line 19 of file DisabledResources.cpp.
21{
22 TLOG_DEBUG(2) <<
"construct the object from Resource " << root->
UID() ;
23 update(root, initial_list);
24}
const std::string & UID() const noexcept
void update(const ResourceSet *root, std::vector< const Resource * > initial_list)
#define TLOG_DEBUG(lvl,...)
◆ ~DisabledResources()
dunedaq::confmodel::DisabledResources::~DisabledResources |
( |
| ) |
|
|
default |
◆ disable()
void dunedaq::confmodel::DisabledResources::disable |
( |
const Resource & | component | ) |
|
|
inlineprivate |
◆ disable_children()
void DisabledResources::disable_children |
( |
const ResourceSet & | rs | ) |
|
|
private |
Definition at line 101 of file DisabledResources.cpp.
102{
105 TLOG_DEBUG(6) <<
"Disabling child " << res->UID();
109 }
110 }
111}
void disable_children(const ResourceSet &)
void disable(const Resource &component)
virtual std::vector< const Resource * > contained_resources() const =0
◆ fill()
Definition at line 80 of file DisabledResources.cpp.
83{
85 all_resource_sets.push_back(&rs);
86 auto rptr = &rs;
87 if (rptr->cast<
Resource>() ==
nullptr) {
89 }
93 fill(*rs2, all_resource_sets, cd_fuse);
94 }
95 }
96}
std::string full_name() const noexcept
const TARGET * cast() const noexcept
Casts object to different class.
const std::string & class_name() const noexcept
void fill(const ResourceSet &rs, std::vector< const ResourceSet * > &all_resource_sets, TestCircularDependency &cd_fuse)
◆ initialised()
bool dunedaq::confmodel::DisabledResources::initialised |
( |
| ) |
const |
|
inlinenodiscard |
◆ is_enabled()
bool dunedaq::confmodel::DisabledResources::is_enabled |
( |
const Resource * | component | ) |
const |
|
inline |
◆ size()
size_t dunedaq::confmodel::DisabledResources::size |
( |
| ) |
|
|
inlineprivatenoexcept |
◆ update()
void DisabledResources::update |
( |
const ResourceSet * | root, |
|
|
std::vector< const Resource * > | initial_list ) |
Definition at line 27 of file DisabledResources.cpp.
28 {
29
31
33 if (initial_list.empty()) {
34 TLOG_DEBUG( 6) <<
"We have no disabled components";
35 return;
36 }
37
38
39
41 std::vector<const ResourceSet*> resource_sets;
42 fill(*root, resource_sets, cd_fuse);
43
44 for (auto & comp : initial_list) {
46 TLOG_DEBUG(6) << comp->UID() <<
" is disabled in session";
49 }
50 }
51
52 for (unsigned long count = 1; true; ++count) {
53 const unsigned long num(
size());
54
55 TLOG_DEBUG(6) <<
"before auto-disabling iteration " << count <<
" the number of disabled components is " << num ;
56 for (const auto& res_set : resource_sets) {
58 if (res_set->compute_disabled_state(
m_disabled)) {
59 TLOG_DEBUG(6) <<
"disable custom resource-set- " << res_set->UID() <<
" because children are disabled" ;
62 }
63 }
64 }
65
67 TLOG_DEBUG(6) <<
"after " << count <<
" iteration(s) auto-disabling algorithm found no newly disabled sets, exiting loop ..." ;
68 break;
69 }
70
71 unsigned int iLimit(1000);
72 if (count > iLimit) {
74 break;
75 }
76 }
77}
bool is_enabled(const Resource *component) const
void error(const Issue &issue)
◆ Resource
◆ Session
◆ m_disabled
std::set<std::string> dunedaq::confmodel::DisabledResources::m_disabled |
|
private |
◆ m_initialised
bool dunedaq::confmodel::DisabledResources::m_initialised {false} |
|
private |
The documentation for this class was generated from the following files: