29 #ifndef ENGINE_SCHEDULER_DYNAMICEXECUTOR_WORKUNITCONSUMER_H
30 #define ENGINE_SCHEDULER_DYNAMICEXECUTOR_WORKUNITCONSUMER_H
37 #include <boost/thread.hpp>
44 namespace DynamicExecutor {
51 work_(workQueue), producer_(producer), lookup_(lookup), shouldLog_(SCIRun::Core::Logging::Log::get().verbose())
53 log_.setVerbose(shouldLog_);
68 while (!producer_->isDone() || moreWork())
76 log_ << Core::Logging::DEBUG_LOG <<
"\tConsumer accessing front of work queue.";
80 log_ << Core::Logging::DEBUG_LOG <<
"\tConsumer popping front of work queue.";
85 log_ << Core::Logging::DEBUG_LOG <<
"~~~Processing " << unit->get_id();
94 log_ << Core::Logging::DEBUG_LOG <<
"\tConsumer received null module";
103 return !work_->empty();
void run()
Definition: WorkUnitExecutor.h:50
#define SCISHARE
Definition: share.h:39
ModuleConsumer(ModuleWorkQueuePtr workQueue, const Networks::ExecutableLookup *lookup, ProducerInterfacePtr producer)
Definition: WorkUnitConsumer.h:50
void operator()() const
Definition: WorkUnitConsumer.h:57
Definition: WorkUnitExecutor.h:43
boost::shared_ptr< ModuleWorkQueue > ModuleWorkQueuePtr
Definition: WorkQueue.h:49
bool moreWork() const
Definition: WorkUnitConsumer.h:101
Definition: WorkUnitConsumer.h:47
boost::shared_ptr< ModuleInterface > ModuleHandle
Definition: NetworkFwd.h:74
boost::shared_ptr< ProducerInterface > ProducerInterfacePtr
Definition: WorkUnitProducerInterface.h:47
Definition: NetworkInterface.h:48
boost::shared_ptr< ModuleConsumer > ModuleConsumerPtr
Definition: WorkUnitConsumer.h:114