19 : modRegistry_(new
ModuleRegistry), m_workerMap(), actReg_(areg) {}
22 : modRegistry_(modReg), m_workerMap(), actReg_(areg) {}
29 WorkerMap::iterator workerIt =
m_workerMap.find(moduleLabel);
35 mmp, moduleLabel,
actReg_->preModuleConstructionSignal_,
actReg_->postModuleConstructionSignal_);
36 auto workerPtr = modulePtr->makeWorker(p.
actions_);
38 workerPtr->setActivityRegistry(
actReg_);
42 std::shared_ptr<Worker>(workerPtr.release());
45 return (workerIt->second.get());
49 WorkerMap::const_iterator workerIt =
m_workerMap.find(moduleLabel);
51 return workerIt->second;
57 WorkerMap::iterator workerIt =
m_workerMap.find(moduleLabel);
60 <<
"WorkerRegistry::deleteModule() Trying to delete the module of a Worker with label " << moduleLabel
61 <<
" but no such Worker exists in the WorkerRegistry. Please contact framework developers.";
63 workerIt->second->clearModule();
PreallocationConfiguration const * preallocate_
std::shared_ptr< ActivityRegistry > actReg_
WorkerRegistry(std::shared_ptr< ActivityRegistry > areg)
ExceptionToActionTable const * actions_
void deleteModule(std::string const &moduleLabel)
Deletes the module of the Worker, but the Worker continues to exist.
WorkerMap m_workerMap
internal map of registered workers (owned).
edm::propagate_const< std::shared_ptr< ModuleRegistry > > modRegistry_
Worker const * get(std::string const &moduleLabel) const
std::shared_ptr< ProcessConfiguration const > processConfiguration_
Worker * getWorker(WorkerParams const &p, std::string const &moduleLabel)
Retrieve the particular instance of the worker.