void StateServer::receiveAndSend (  )  [private]

Definition at line 131 of file StateServer.cpp.

00132 {
00133         bool found = false;
00134                 
00135         // create message
00136         Message message(listener->readFromBuffer());
00137         
00138         // try to cast in protocol objects
00139 
00140         // ServiceRequest
00141         if(!found){
00142                 try {
00143                         AliveStatement tmp(message);
00144                         found = true;
00145                         std::string logstring;
00146                         std::stringstream sstr;
00147                         int switcher = clm->callback(tmp.getSessionId());
00148                         
00149                         if (switcher == 0){     
00150                                         StopCommand stopc;
00151                                         sstr << tmp.getSessionId();
00152                                         logstring = "StopCommand ID:" ;
00153                                         logstring += sstr.str() ;
00154                                         logstring += " ERR AliveStatement ID not found in vector Client IP:" ;  
00155                                         logstring += listener->getClientIP();
00156                                         logstring += " Port:" ; 
00157                                         logstring += listener->getClientPort();
00158                                         outputserver->osPrint(logstring);
00159                                         listener->clearBuffer();
00160                                         listener->writeToBuffer(stopc.getFormatString());
00161                         }
00162                         if (switcher == 1){     
00163                                         GoOnCommand goc;
00164                                         sstr << tmp.getSessionId();
00165                                         logstring = "GoOnCommand ID:" ;
00166                                         logstring += sstr.str() ;
00167                                         logstring += " GoOnCommand Client IP: " ;       
00168                                         logstring += listener->getClientIP();
00169                                         logstring += " Port:" ; 
00170                                         logstring += listener->getClientPort();
00171                                         outputserver->osPrint(logstring);
00172                                         listener->clearBuffer();
00173                                         listener->writeToBuffer(goc.getFormatString());
00174                         }
00175                         if (switcher == 2){     
00176                                         StopCommand sc;
00177                                         sstr << tmp.getSessionId();
00178                                         logstring = "StopCommand ID:" ;
00179                                         logstring += sstr.str() ;
00180                                         logstring += "is in USE Client IP: " ;  
00181                                         logstring += listener->getClientIP();
00182                                         logstring += " Port:" ; 
00183                                         logstring += listener->getClientPort();
00184                                         outputserver->osPrint(logstring);
00185                                         listener->clearBuffer();
00186                                         listener->writeToBuffer(sc.getFormatString());
00187                         }
00188                         listener->write();
00189                         listener->clearBuffer();
00190 
00191 
00192                 }
00193                 catch ( MessageCastException& e ) {}    
00194         }
00195 
00196         if(!found){
00197                         listener->clearBuffer();
00198                 }
00199 
00200 } // receiveAndSend


Generated on Wed Jun 25 14:47:14 2008 for keyvil by  doxygen 1.5.1