diff --git a/CEP/BB/BBSControl/include/BBSControl/KernelProcessControl.h b/CEP/BB/BBSControl/include/BBSControl/KernelProcessControl.h index e54b974e440f32f14a8350fad025d33a95d9991b..a057de7f3b2c85daef19f9dec2ba474503162031 100644 --- a/CEP/BB/BBSControl/include/BBSControl/KernelProcessControl.h +++ b/CEP/BB/BBSControl/include/BBSControl/KernelProcessControl.h @@ -34,6 +34,7 @@ #include <BBSControl/BlobStreamableConnection.h> #include <BBSKernel/Prediffer.h> #include <BBSControl/KernelCommandControl.h> +#include <BBSControl/CommandQueue.h> #include <BBSControl/BBSStructs.h> namespace LOFAR @@ -43,6 +44,7 @@ namespace LOFAR namespace BBS { + //class CommandQueue; /* //# Forward declations class BBSStep; @@ -96,6 +98,9 @@ namespace LOFAR // Command controller. KernelCommandControl itsCommandController; + // Command Queue + scoped_ptr<CommandQueue> itsCommandQueue; + // Parameter set for this process controller. ACC::APS::ParameterSet itsParameterSet; @@ -103,7 +108,7 @@ namespace LOFAR scoped_ptr<Prediffer> itsPrediffer; // Connections - scoped_ptr<BlobStreamableConnection> itsControllerConnection; + //scoped_ptr<BlobStreamableConnection> itsControllerConnection; scoped_ptr<BlobStreamableConnection> itsSolverConnection; // Region of interest diff --git a/CEP/BB/BBSControl/src/KernelProcessControl.cc b/CEP/BB/BBSControl/src/KernelProcessControl.cc index f68c205e258239091e2af2bd8911e3d0e235d595..1f8c8d5e1a901956b9360d2328d01a48862d2024 100644 --- a/CEP/BB/BBSControl/src/KernelProcessControl.cc +++ b/CEP/BB/BBSControl/src/KernelProcessControl.cc @@ -26,10 +26,10 @@ #include <lofar_config.h> #include <BBSControl/KernelProcessControl.h> -#include <BBSControl/Command.h> +//#include <BBSControl/Command.h> +#include <BBSControl/BBSStep.h> /* #include <BBSControl/BBSStrategy.h> -#include <BBSControl/BBSStep.h> #include <BBSControl/BBSPredictStep.h> #include <BBSControl/BBSSubtractStep.h> #include <BBSControl/BBSCorrectStep.h> @@ -89,9 +89,11 @@ namespace BBS LOG_DEBUG("KernelProcessControl::define()"); try { +/* itsControllerConnection.reset(new BlobStreamableConnection( globalParameterSet()->getString("Controller.Host"), globalParameterSet()->getString("Controller.Port"))); +*/ char *user = getenv("USER"); ASSERT(user); @@ -116,6 +118,7 @@ namespace BBS LOG_DEBUG("KernelProcessControl::init()"); try { +/* LOG_DEBUG_STR("Trying to connect to controller@" << globalParameterSet()->getString("Controller.Host") << ":" << globalParameterSet()->getString("Controller.Port" ) @@ -127,6 +130,9 @@ namespace BBS return false; } LOG_DEBUG("+ ok"); +*/ + itsCommandQueue.reset(new +CommandQueue(globalParameterSet()->getString("BBDB.DBName"))); LOG_DEBUG("Trying to connect to solver@localhost"); if(!itsSolverConnection->connect()) @@ -154,13 +160,16 @@ namespace BBS try { // Receive the next message - scoped_ptr<BlobStreamable> message(itsControllerConnection->recvObject()); - Command *command = dynamic_cast< -Command*>(message.get()); - - if(command) + scoped_ptr<BBSStep> +step(const_cast<BBSStep*>(itsCommandQueue->getNextStep())); + //scoped_ptr<BlobStreamable> +//message(itsControllerConnection->recvObject()); + //Command *command = dynamic_cast< +//Command*>(message.get()); + + if(step) { - command->accept(itsCommandController); + step->accept(itsCommandController); return true; } else @@ -169,7 +178,8 @@ Command*>(message.get()); catch(Exception& e) { LOG_ERROR_STR(e); - itsControllerConnection->sendObject(BBSStatus(BBSStatus::ERROR, e.message())); +// itsControllerConnection->sendObject(BBSStatus(BBSStatus::ERROR, +//e.message())); return false; } }