LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
art::WorkerInPath::WorkerInPathDoneTask Class Reference

Public Member Functions

 WorkerInPathDoneTask (WorkerInPath *wip, ScheduleID const scheduleID, WaitingTaskPtr workerDoneTask, GlobalTaskGroup *taskGroup)
 
void operator() (exception_ptr const ex) const
 

Private Attributes

WorkerInPathwip_
 
ScheduleID const sid_
 
WaitingTaskPtr workerDoneTask_
 
GlobalTaskGrouptaskGroup_
 

Detailed Description

Definition at line 82 of file WorkerInPath.cc.

Constructor & Destructor Documentation

art::WorkerInPath::WorkerInPathDoneTask::WorkerInPathDoneTask ( WorkerInPath wip,
ScheduleID const  scheduleID,
WaitingTaskPtr  workerDoneTask,
GlobalTaskGroup taskGroup 
)
inline

Definition at line 84 of file WorkerInPath.cc.

References art::WorkerInPath::taskGroup_.

88  : wip_{wip}
89  , sid_{scheduleID}
90  , workerDoneTask_{std::move(workerDoneTask)}
91  , taskGroup_{taskGroup}
92  {}

Member Function Documentation

void art::WorkerInPath::WorkerInPathDoneTask::operator() ( exception_ptr const  ex) const
inline

Definition at line 95 of file WorkerInPath.cc.

References art::GlobalTaskGroup::may_run(), art::WorkerInPath::taskGroup_, TDEBUG_BEGIN_TASK_SI, TDEBUG_END_TASK_SI, and TDEBUG_TASK_SI.

96  {
98  if (ex) {
101  TDEBUG_END_TASK_SI(4, sid_) << "because of EXCEPTION";
102  return;
103  }
104 
105  wip_->returnCode_ = wip_->worker_->returnCode();
106  TDEBUG_TASK_SI(5, sid_) << "raw returnCode_: " << wip_->returnCode_;
107  if (wip_->filterAction_ == FilterAction::Veto) {
109  } else if (wip_->filterAction_ == FilterAction::Ignore) {
110  wip_->returnCode_ = true;
111  }
112  TDEBUG_TASK_SI(5, sid_) << "final returnCode_: " << wip_->returnCode_;
113  if (wip_->returnCode_) {
114  ++wip_->counts_passed_;
115  } else {
116  ++wip_->counts_failed_;
117  }
118  TDEBUG_END_TASK_SI(4, sid_) << "returnCode_: " << wip_->returnCode_;
120  }
#define TDEBUG_BEGIN_TASK_SI(LEVEL, SI)
#define TDEBUG_END_TASK_SI(LEVEL, SI)
#define TDEBUG_TASK_SI(LEVEL, SI)
std::size_t counts_thrown_
Definition: WorkerInPath.h:80
detail::FilterAction filterAction_
Definition: WorkerInPath.h:69
void may_run(hep::concurrency::WaitingTaskPtr task, std::exception_ptr ex_ptr={})
std::size_t counts_failed_
Definition: WorkerInPath.h:79
cet::exempt_ptr< Worker > worker_
Definition: WorkerInPath.h:66
std::size_t counts_passed_
Definition: WorkerInPath.h:78

Member Data Documentation

ScheduleID const art::WorkerInPath::WorkerInPathDoneTask::sid_
private

Definition at line 124 of file WorkerInPath.cc.

GlobalTaskGroup* art::WorkerInPath::WorkerInPathDoneTask::taskGroup_
private

Definition at line 126 of file WorkerInPath.cc.

WorkerInPath* art::WorkerInPath::WorkerInPathDoneTask::wip_
private

Definition at line 123 of file WorkerInPath.cc.

WaitingTaskPtr art::WorkerInPath::WorkerInPathDoneTask::workerDoneTask_
private

Definition at line 125 of file WorkerInPath.cc.


The documentation for this class was generated from the following file: