every function call in slsdetector also sets error mask if it was online and failed to connect

git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@492 951219d9-93cf-4727-9268-0efd64621fa3
This commit is contained in:
l_maliakal_d 2013-03-14 11:31:10 +00:00
parent 1882454cf3
commit 1f15f7d5cb
3 changed files with 876 additions and 1004 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1554,13 +1554,6 @@ class slsDetector : public slsDetectorUtils, public energyConversion {
*/ */
int64_t clearAllErrorMask(); int64_t clearAllErrorMask();
/** Sets Cannot connect to Detector error mask and prints it
*/
void setCannotConnectToDetector();
/** Sets Cannot connect to Detector error mask and prints it
*/
void setCannotConnectToReceiver();
/** returns the detector MAC address\sa sharedSlsDetector */ /** returns the detector MAC address\sa sharedSlsDetector */
char* getDetectorMAC() {return thisDetector->detectorMAC;}; char* getDetectorMAC() {return thisDetector->detectorMAC;};

View File

@ -25,19 +25,16 @@ int receiverInterface::sendString(int fnum, char retval[], char arg[]){
int ret = slsDetectorDefs::FAIL; int ret = slsDetectorDefs::FAIL;
char mess[100] = ""; char mess[100] = "";
if (dataSocket) { dataSocket->SendDataOnly(&fnum,sizeof(fnum));
if (dataSocket->Connect()>=0) { dataSocket->SendDataOnly(arg,MAX_STR_LENGTH);
dataSocket->SendDataOnly(&fnum,sizeof(fnum)); dataSocket->ReceiveDataOnly(&ret,sizeof(ret));
dataSocket->SendDataOnly(arg,MAX_STR_LENGTH); if (ret==slsDetectorDefs::FAIL){
dataSocket->ReceiveDataOnly(&ret,sizeof(ret)); dataSocket->ReceiveDataOnly(mess,sizeof(mess));
if (ret==slsDetectorDefs::FAIL){ std::cout<< "Receiver returned error: " << mess << std::endl;
dataSocket->ReceiveDataOnly(mess,sizeof(mess));
std::cout<< "Receiver returned error: " << mess << std::endl;
}
dataSocket->ReceiveDataOnly(retval,MAX_STR_LENGTH);
}
dataSocket->Disconnect();
} }
dataSocket->ReceiveDataOnly(retval,MAX_STR_LENGTH);
dataSocket->Disconnect();
return ret; return ret;
} }
@ -48,20 +45,17 @@ int receiverInterface::sendUDPDetails(int fnum, char retval[], char arg[2][MAX_S
int ret = slsDetectorDefs::FAIL; int ret = slsDetectorDefs::FAIL;
char mess[100] = ""; char mess[100] = "";
if (dataSocket) { dataSocket->SendDataOnly(&fnum,sizeof(fnum));
if (dataSocket->Connect()>=0) { dataSocket->SendDataOnly(arg,sizeof(args));
dataSocket->SendDataOnly(&fnum,sizeof(fnum)); dataSocket->ReceiveDataOnly(&ret,sizeof(ret));
dataSocket->SendDataOnly(arg,sizeof(args)); if (ret==slsDetectorDefs::FAIL){
dataSocket->ReceiveDataOnly(&ret,sizeof(ret)); dataSocket->ReceiveDataOnly(mess,sizeof(mess));
if (ret==slsDetectorDefs::FAIL){ std::cout<< "Receiver returned error: " << mess << std::endl;
dataSocket->ReceiveDataOnly(mess,sizeof(mess));
std::cout<< "Receiver returned error: " << mess << std::endl;
}
else
dataSocket->ReceiveDataOnly(retval,MAX_STR_LENGTH);
}
dataSocket->Disconnect();
} }
else
dataSocket->ReceiveDataOnly(retval,MAX_STR_LENGTH);
dataSocket->Disconnect();
return ret; return ret;
} }
@ -70,19 +64,16 @@ int receiverInterface::sendInt(int fnum, int &retval, int arg){
int ret = slsDetectorDefs::FAIL; int ret = slsDetectorDefs::FAIL;
char mess[100] = ""; char mess[100] = "";
if (dataSocket) { dataSocket->SendDataOnly(&fnum,sizeof(fnum));
if (dataSocket->Connect()>=0) { dataSocket->SendDataOnly(&arg,sizeof(arg));
dataSocket->SendDataOnly(&fnum,sizeof(fnum)); dataSocket->ReceiveDataOnly(&ret,sizeof(ret));
dataSocket->SendDataOnly(&arg,sizeof(arg)); if (ret==slsDetectorDefs::FAIL){
dataSocket->ReceiveDataOnly(&ret,sizeof(ret)); dataSocket->ReceiveDataOnly(mess,sizeof(mess));
if (ret==slsDetectorDefs::FAIL){ std::cout<< "Receiver returned error: " << mess << std::endl;
dataSocket->ReceiveDataOnly(mess,sizeof(mess));
std::cout<< "Receiver returned error: " << mess << std::endl;
}
dataSocket->ReceiveDataOnly(&retval,sizeof(retval));
}
dataSocket->Disconnect();
} }
dataSocket->ReceiveDataOnly(&retval,sizeof(retval));
dataSocket->Disconnect();
return ret; return ret;
} }
@ -91,14 +82,11 @@ int receiverInterface::sendInt(int fnum, int &retval, int arg){
int receiverInterface::getInt(int fnum, int &retval){ int receiverInterface::getInt(int fnum, int &retval){
int ret = slsDetectorDefs::FAIL; int ret = slsDetectorDefs::FAIL;
if (dataSocket) { dataSocket->SendDataOnly(&fnum,sizeof(fnum));
if (dataSocket->Connect()>=0) { dataSocket->ReceiveDataOnly(&ret,sizeof(ret));
dataSocket->SendDataOnly(&fnum,sizeof(fnum)); dataSocket->ReceiveDataOnly(&retval,sizeof(retval));
dataSocket->ReceiveDataOnly(&ret,sizeof(ret)); dataSocket->Disconnect();
dataSocket->ReceiveDataOnly(&retval,sizeof(retval));
}
dataSocket->Disconnect();
}
return ret; return ret;
} }
@ -107,14 +95,11 @@ int receiverInterface::getInt(int fnum, int &retval){
int receiverInterface::getInt(int fnum, int64_t &retval){ int receiverInterface::getInt(int fnum, int64_t &retval){
int ret = slsDetectorDefs::FAIL; int ret = slsDetectorDefs::FAIL;
if (dataSocket) { dataSocket->SendDataOnly(&fnum,sizeof(fnum));
if (dataSocket->Connect()>=0) { dataSocket->ReceiveDataOnly(&ret,sizeof(ret));
dataSocket->SendDataOnly(&fnum,sizeof(fnum)); dataSocket->ReceiveDataOnly(&retval,sizeof(retval));
dataSocket->ReceiveDataOnly(&ret,sizeof(ret)); dataSocket->Disconnect();
dataSocket->ReceiveDataOnly(&retval,sizeof(retval));
}
dataSocket->Disconnect();
}
return ret; return ret;
} }
@ -122,14 +107,11 @@ int receiverInterface::getInt(int fnum, int64_t &retval){
int receiverInterface::getLastClientIP(int fnum, char retval[]){ int receiverInterface::getLastClientIP(int fnum, char retval[]){
int ret = slsDetectorDefs::FAIL; int ret = slsDetectorDefs::FAIL;
if (dataSocket) { dataSocket->SendDataOnly(&fnum,sizeof(fnum));
if (dataSocket->Connect()>=0) { dataSocket->ReceiveDataOnly(&ret,sizeof(ret));
dataSocket->SendDataOnly(&fnum,sizeof(fnum)); dataSocket->ReceiveDataOnly(retval,sizeof(retval));
dataSocket->ReceiveDataOnly(&ret,sizeof(ret)); dataSocket->Disconnect();
dataSocket->ReceiveDataOnly(retval,sizeof(retval));
dataSocket->Disconnect();
}
}
return ret; return ret;
} }
@ -140,45 +122,15 @@ int receiverInterface::executeFunction(int fnum){
int ret = slsDetectorDefs::FAIL; int ret = slsDetectorDefs::FAIL;
char mess[100] = ""; char mess[100] = "";
if (dataSocket) { dataSocket->SendDataOnly(&fnum,sizeof(fnum));
if (dataSocket->Connect()>=0) { dataSocket->ReceiveDataOnly(&ret,sizeof(ret));
dataSocket->SendDataOnly(&fnum,sizeof(fnum)); if (ret==slsDetectorDefs::FAIL){
dataSocket->ReceiveDataOnly(&ret,sizeof(ret)); dataSocket->ReceiveDataOnly(mess,sizeof(mess));
if (ret==slsDetectorDefs::FAIL){ std::cout<< "Receiver returned error: " << mess << std::endl;
dataSocket->ReceiveDataOnly(mess,sizeof(mess));
std::cout<< "Receiver returned error: " << mess << std::endl;
}
dataSocket->Disconnect();
}
} }
dataSocket->Disconnect();
return ret; return ret;
} }
/*
int receiverInterface::exitServer(){
int retval;
int fnum=F_EXIT_SERVER;
if (thisDetector->onlineFlag==ONLINE_FLAG) {
if (controlSocket) {
controlSocket->Connect();
controlSocket->SendDataOnly(&fnum,sizeof(fnum));
controlSocket->ReceiveDataOnly(&retval,sizeof(retval));
controlSocket->Disconnect();
}
}
if (retval!=OK) {
std::cout<< std::endl;
std::cout<< "Shutting down the server" << std::endl;
std::cout<< std::endl;
}
return retval;
};
*/