From 8289739c0328bac33e15e24513539cda51cb0f86 Mon Sep 17 00:00:00 2001 From: Joris van Zwieten <zwieten@astron.nl> Date: Tue, 3 Apr 2007 13:42:38 +0000 Subject: [PATCH] BugID: 1046 - Fix to use CommandQueue in KernelProcessControl instead of sockets. --- .../include/BBSControl/KernelProcessControl.h | 7 ++++- CEP/BB/BBSControl/src/KernelProcessControl.cc | 28 +++++++++++++------ 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/CEP/BB/BBSControl/include/BBSControl/KernelProcessControl.h b/CEP/BB/BBSControl/include/BBSControl/KernelProcessControl.h index e54b974e440..a057de7f3b2 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 f68c205e258..1f8c8d5e1a9 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; } } -- GitLab