Go to the documentation of this file. 1 #ifndef FWCore_Framework_UnscheduledCallProducer_h
2 #define FWCore_Framework_UnscheduledCallProducer_h
28 #include <unordered_map>
35 class EventTransitionInfo;
36 class ModuleCallingContext;
48 assert(
nullptr != aWorker);
69 template <
typename T,
typename U>
71 typename T::TransitionInfoType
const&
info,
74 typename T::Context
const* topContext,
75 U const* context)
const {
86 worker->doWorkNoPrefetchingAsync<
T>(
task,
info,
token, streamID, parentContext, topContext);
93 typename T::TransitionInfoType
const&
info,
97 typename T::Context
const* context) {
99 worker->doWorkAsync<
T>(
task,
info,
token, streamID, parentContext, context);
104 template <
typename T,
typename ID>
106 std::ostringstream ost;
107 ost <<
"Processing " << T::transitionName() <<
" " <<
id;
void addContextToException(cms::Exception &ex, Worker const *worker, ID const &id) const
UnscheduledCallProducer(ActivityRegistry &iReg)
void addContext(std::string const &context)
void runAccumulatorsAsync(WaitingTaskHolder task, typename T::TransitionInfoType const &info, ServiceToken const &token, StreamID streamID, ParentContext const &parentContext, typename T::Context const *context)
UnscheduledAuxiliary aux_
worker_container::const_iterator const_iterator
void setEventTransitionInfo(EventTransitionInfo const &info)
signalslot::Signal< void(StreamContext const &, ModuleCallingContext const &)> preModuleDelayedGetSignal_
PostModuleEventDelayedGet postModuleEventDelayedGetSignal_
void setEventTransitionInfo(EventTransitionInfo const &info)
void addWorker(Worker *aWorker)
void removeWorker(Worker const *worker)
const_iterator begin() const
PreModuleEventDelayedGet preModuleEventDelayedGetSignal_
void runNowAsync(WaitingTaskHolder task, typename T::TransitionInfoType const &info, ServiceToken const &token, StreamID streamID, typename T::Context const *topContext, U const *context) const
std::vector< Worker * > worker_container
UnscheduledAuxiliary const & auxiliary() const
virtual bool hasAccumulator() const =0
const_iterator end() const
def remove(d, key, TELL=False)
signalslot::Signal< void(StreamContext const &, ModuleCallingContext const &)> postModuleDelayedGetSignal_
worker_container accumulatorWorkers_
worker_container unscheduledWorkers_