checks if receiver udp object was created before executing functions and hence always returns a ret

This commit is contained in:
Dhanya Maliakal 2015-05-26 17:01:42 +02:00
parent cb51de145b
commit 4f88e831c4

View File

@ -421,6 +421,10 @@ int slsReceiverTCPIPInterface::set_file_name() {
if (lockStatus==1 && socket->differentClients==1){ if (lockStatus==1 && socket->differentClients==1){
sprintf(mess,"Receiver locked by %s\n", socket->lastClientIP); sprintf(mess,"Receiver locked by %s\n", socket->lastClientIP);
ret=FAIL; ret=FAIL;
}
else if (receiverBase == NULL){
strcpy(mess,"Receiver not set up\n");
ret=FAIL;
} }
else else
strcpy(retval,receiverBase->setFileName(fName)); strcpy(retval,receiverBase->setFileName(fName));
@ -476,6 +480,10 @@ int slsReceiverTCPIPInterface::set_file_dir() {
strcpy(mess,"Can not set file path while receiver running\n"); strcpy(mess,"Can not set file path while receiver running\n");
ret = FAIL; ret = FAIL;
}*/ }*/
else if (receiverBase == NULL){
strcpy(mess,"Receiver not set up\n");
ret=FAIL;
}
else{ else{
strcpy(retval,receiverBase->setFilePath(fPath)); strcpy(retval,receiverBase->setFilePath(fPath));
// if file path doesnt exist // if file path doesnt exist
@ -535,6 +543,10 @@ int slsReceiverTCPIPInterface::set_file_index() {
sprintf(mess,"Receiver locked by %s\n", socket->lastClientIP); sprintf(mess,"Receiver locked by %s\n", socket->lastClientIP);
ret=FAIL; ret=FAIL;
} }
else if (receiverBase == NULL){
strcpy(mess,"Receiver not set up\n");
ret=FAIL;
}
else else
retval=receiverBase->setFileIndex(index); retval=receiverBase->setFileIndex(index);
} }
@ -588,6 +600,10 @@ int slsReceiverTCPIPInterface::set_frame_index() {
sprintf(mess,"Receiver locked by %s\n", socket->lastClientIP); sprintf(mess,"Receiver locked by %s\n", socket->lastClientIP);
ret=FAIL; ret=FAIL;
} }
else if (receiverBase == NULL){
strcpy(mess,"Receiver not set up\n");
ret=FAIL;
}
else else
retval=receiverBase->setFrameIndexNeeded(index); retval=receiverBase->setFrameIndexNeeded(index);
} }
@ -645,6 +661,10 @@ int slsReceiverTCPIPInterface::setup_udp(){
sprintf(mess,"Receiver locked by %s\n", socket->lastClientIP); sprintf(mess,"Receiver locked by %s\n", socket->lastClientIP);
ret=FAIL; ret=FAIL;
} }
else if (receiverBase == NULL){
strcpy(mess,"Receiver not set up\n");
ret=FAIL;
}
else if(receiverBase->getStatus()==RUNNING){ else if(receiverBase->getStatus()==RUNNING){
ret = FAIL; ret = FAIL;
strcpy(mess,"cannot set up udp when receiver is running\n"); strcpy(mess,"cannot set up udp when receiver is running\n");
@ -732,6 +752,10 @@ int slsReceiverTCPIPInterface::start_receiver(){
ret = FAIL; ret = FAIL;
} }
*/ */
else if (receiverBase == NULL){
strcpy(mess,"Receiver not set up\n");
ret=FAIL;
}
else { else {
s = receiverBase->getStatus(); s = receiverBase->getStatus();
switch (s) { switch (s) {
@ -780,6 +804,10 @@ int slsReceiverTCPIPInterface::stop_receiver(){
sprintf(mess,"Receiver locked by %s\n", socket->lastClientIP); sprintf(mess,"Receiver locked by %s\n", socket->lastClientIP);
ret=FAIL; ret=FAIL;
} }
else if (receiverBase == NULL){
strcpy(mess,"Receiver not set up\n");
ret=FAIL;
}
else if(receiverBase->getStatus()!=IDLE) else if(receiverBase->getStatus()!=IDLE)
ret=receiverBase->stopReceiver(); ret=receiverBase->stopReceiver();
#endif #endif
@ -802,20 +830,25 @@ int slsReceiverTCPIPInterface::stop_receiver(){
int slsReceiverTCPIPInterface::get_status(){ int slsReceiverTCPIPInterface::get_status(){
ret=OK; ret=OK;
enum runStatus retval; enum runStatus retval = ERROR;
// execute action if the arguments correctly arrived // execute action if the arguments correctly arrived
#ifdef SLS_RECEIVER_UDP_FUNCTIONS #ifdef SLS_RECEIVER_UDP_FUNCTIONS
retval=receiverBase->getStatus(); if (receiverBase == NULL){
strcpy(mess,"Receiver not set up\n");
ret=FAIL;
}else retval=receiverBase->getStatus();
#endif #endif
if(socket->differentClients){ if(ret==OK && socket->differentClients){
cout << "Force update" << endl; cout << "Force update" << endl;
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
// send answer // send answer
socket->SendDataOnly(&ret,sizeof(ret)); socket->SendDataOnly(&ret,sizeof(ret));
if(ret==FAIL)
socket->SendDataOnly(mess,sizeof(mess));
socket->SendDataOnly(&retval,sizeof(retval)); socket->SendDataOnly(&retval,sizeof(retval));
//return ok/fail //return ok/fail
return ret; return ret;
@ -830,15 +863,20 @@ int slsReceiverTCPIPInterface::get_frames_caught(){
// execute action if the arguments correctly arrived // execute action if the arguments correctly arrived
#ifdef SLS_RECEIVER_UDP_FUNCTIONS #ifdef SLS_RECEIVER_UDP_FUNCTIONS
retval=receiverBase->getTotalFramesCaught(); if (receiverBase == NULL){
strcpy(mess,"Receiver not set up\n");
ret=FAIL;
}else retval=receiverBase->getTotalFramesCaught();
#endif #endif
if(socket->differentClients){ if(ret==OK && socket->differentClients){
cout << "Force update" << endl; cout << "Force update" << endl;
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
// send answer // send answer
socket->SendDataOnly(&ret,sizeof(ret)); socket->SendDataOnly(&ret,sizeof(ret));
if(ret==FAIL)
socket->SendDataOnly(mess,sizeof(mess));
socket->SendDataOnly(&retval,sizeof(retval)); socket->SendDataOnly(&retval,sizeof(retval));
//return ok/fail //return ok/fail
return ret; return ret;
@ -853,16 +891,22 @@ int slsReceiverTCPIPInterface::get_frame_index(){
// execute action if the arguments correctly arrived // execute action if the arguments correctly arrived
#ifdef SLS_RECEIVER_UDP_FUNCTIONS #ifdef SLS_RECEIVER_UDP_FUNCTIONS
retval=receiverBase->getAcquisitionIndex(); if (receiverBase == NULL){
strcpy(mess,"Receiver not set up\n");
ret=FAIL;
}else
retval=receiverBase->getAcquisitionIndex();
#endif #endif
if(socket->differentClients){ if(ret==OK && socket->differentClients){
cout << "Force update" << endl; cout << "Force update" << endl;
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
// send answer // send answer
socket->SendDataOnly(&ret,sizeof(ret)); socket->SendDataOnly(&ret,sizeof(ret));
if(ret==FAIL)
socket->SendDataOnly(mess,sizeof(mess));
socket->SendDataOnly(&retval,sizeof(retval)); socket->SendDataOnly(&retval,sizeof(retval));
//return ok/fail //return ok/fail
return ret; return ret;
@ -884,6 +928,10 @@ int slsReceiverTCPIPInterface::reset_frames_caught(){
sprintf(mess,"Receiver locked by %s\n", socket->lastClientIP); sprintf(mess,"Receiver locked by %s\n", socket->lastClientIP);
ret=FAIL; ret=FAIL;
} }
else if (receiverBase == NULL){
strcpy(mess,"Receiver not set up\n");
ret=FAIL;
}
else else
receiverBase->resetTotalFramesCaught(); receiverBase->resetTotalFramesCaught();
} }
@ -936,6 +984,10 @@ int slsReceiverTCPIPInterface::set_short_frame() {
sprintf(mess,"Receiver locked by %s\n", socket->lastClientIP); sprintf(mess,"Receiver locked by %s\n", socket->lastClientIP);
ret=FAIL; ret=FAIL;
} }
else if (receiverBase == NULL){
strcpy(mess,"Receiver not set up\n");
ret=FAIL;
}
else if(receiverBase->getStatus()==RUNNING){ else if(receiverBase->getStatus()==RUNNING){
strcpy(mess,"Cannot set short frame while status is running\n"); strcpy(mess,"Cannot set short frame while status is running\n");
ret=FAIL; ret=FAIL;
@ -1009,9 +1061,12 @@ int slsReceiverTCPIPInterface::moench_read_frame(){
// execute action if the arguments correctly arrived // execute action if the arguments correctly arrived
#ifdef SLS_RECEIVER_UDP_FUNCTIONS #ifdef SLS_RECEIVER_UDP_FUNCTIONS
if (receiverBase == NULL){
strcpy(mess,"Receiver not set up\n");
ret=FAIL;
}
/**send garbage with -1 index to try again*/ /**send garbage with -1 index to try again*/
if(!receiverBase->getFramesCaught()){ else if(!receiverBase->getFramesCaught()){
startAcquisitionIndex = -1; startAcquisitionIndex = -1;
cout<<"haven't caught any frame yet"<<endl; cout<<"haven't caught any frame yet"<<endl;
} }
@ -1196,10 +1251,13 @@ int slsReceiverTCPIPInterface::gotthard_read_frame(){
// execute action if the arguments correctly arrived // execute action if the arguments correctly arrived
#ifdef SLS_RECEIVER_UDP_FUNCTIONS #ifdef SLS_RECEIVER_UDP_FUNCTIONS
if (receiverBase == NULL){
strcpy(mess,"Receiver not set up\n");
ret=FAIL;
}
/**send garbage with -1 index to try again*/ /**send garbage with -1 index to try again*/
if(!receiverBase->getFramesCaught()){ else if(!receiverBase->getFramesCaught()){
startAcquisitionIndex=-1; startAcquisitionIndex=-1;
cout<<"haven't caught any frame yet"<<endl; cout<<"haven't caught any frame yet"<<endl;
}else{ }else{
@ -1362,10 +1420,13 @@ int slsReceiverTCPIPInterface::eiger_read_frame(){
// execute action if the arguments correctly arrived // execute action if the arguments correctly arrived
#ifdef SLS_RECEIVER_UDP_FUNCTIONS #ifdef SLS_RECEIVER_UDP_FUNCTIONS
if (receiverBase == NULL){
strcpy(mess,"Receiver not set up\n");
ret=FAIL;
}
/**send garbage with -1 index to try again*/ /**send garbage with -1 index to try again*/
if(!receiverBase->getFramesCaught()){ else if(!receiverBase->getFramesCaught()){
startAcquisitionIndex=-1; startAcquisitionIndex=-1;
#ifdef VERBOSE #ifdef VERBOSE
cout<<"haven't caught any frame yet"<<endl; cout<<"haven't caught any frame yet"<<endl;
@ -1616,7 +1677,12 @@ int slsReceiverTCPIPInterface::set_read_frequency(){
if (lockStatus==1 && socket->differentClients==1){ if (lockStatus==1 && socket->differentClients==1){
sprintf(mess,"Receiver locked by %s\n", socket->lastClientIP); sprintf(mess,"Receiver locked by %s\n", socket->lastClientIP);
ret=FAIL; ret=FAIL;
}/* }
else if (receiverBase == NULL){
strcpy(mess,"Receiver not set up\n");
ret=FAIL;
}
/*
else if((receiverBase->getStatus()==RUNNING) && (index >= 0)){ else if((receiverBase->getStatus()==RUNNING) && (index >= 0)){
ret = FAIL; ret = FAIL;
strcpy(mess,"cannot set up receiver mode when receiver is running\n"); strcpy(mess,"cannot set up receiver mode when receiver is running\n");
@ -1667,6 +1733,10 @@ int slsReceiverTCPIPInterface::enable_file_write(){
sprintf(mess,"Receiver locked by %s\n", socket->lastClientIP); sprintf(mess,"Receiver locked by %s\n", socket->lastClientIP);
ret=FAIL; ret=FAIL;
} }
else if (receiverBase == NULL){
strcpy(mess,"Receiver not set up\n");
ret=FAIL;
}
else{ else{
if(enable >= 0) if(enable >= 0)
receiverBase->setEnableFileWrite(enable); receiverBase->setEnableFileWrite(enable);
@ -1733,21 +1803,28 @@ int slsReceiverTCPIPInterface::start_readout(){
// execute action if the arguments correctly arrived // execute action if the arguments correctly arrived
#ifdef SLS_RECEIVER_UDP_FUNCTIONS #ifdef SLS_RECEIVER_UDP_FUNCTIONS
receiverBase->startReadout(); if (receiverBase == NULL){
retval = receiverBase->getStatus(); strcpy(mess,"Receiver not set up\n");
if((retval == TRANSMITTING) || (retval == RUN_FINISHED) || (retval == IDLE)) ret=FAIL;
ret = OK; }else{
else receiverBase->startReadout();
ret = FAIL; retval = receiverBase->getStatus();
if((retval == TRANSMITTING) || (retval == RUN_FINISHED) || (retval == IDLE))
ret = OK;
else
ret = FAIL;
}
#endif #endif
if(socket->differentClients){ if(ret==OK && socket->differentClients){
cout << "Force update" << endl; cout << "Force update" << endl;
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
// send answer // send answer
socket->SendDataOnly(&ret,sizeof(ret)); socket->SendDataOnly(&ret,sizeof(ret));
if(ret==FAIL)
socket->SendDataOnly(mess,sizeof(mess));
socket->SendDataOnly(&retval,sizeof(retval)); socket->SendDataOnly(&retval,sizeof(retval));
//return ok/fail //return ok/fail
return ret; return ret;
@ -1779,6 +1856,10 @@ int slsReceiverTCPIPInterface::set_timer() {
sprintf(mess,"Receiver locked by %s\n", socket->lastClientIP); sprintf(mess,"Receiver locked by %s\n", socket->lastClientIP);
ret=FAIL; ret=FAIL;
} }
else if (receiverBase == NULL){
strcpy(mess,"Receiver not set up\n");
ret=FAIL;
}
else{ else{
if(index[0] == slsReceiverDefs::FRAME_PERIOD) if(index[0] == slsReceiverDefs::FRAME_PERIOD)
retval=receiverBase->setAcquisitionPeriod(index[1]); retval=receiverBase->setAcquisitionPeriod(index[1]);
@ -1838,6 +1919,10 @@ int slsReceiverTCPIPInterface::enable_compression() {
sprintf(mess,"Receiver locked by %s\n", socket->lastClientIP); sprintf(mess,"Receiver locked by %s\n", socket->lastClientIP);
ret=FAIL; ret=FAIL;
} }
else if (receiverBase == NULL){
strcpy(mess,"Receiver not set up\n");
ret=FAIL;
}
else if(receiverBase->getStatus()==RUNNING){ else if(receiverBase->getStatus()==RUNNING){
strcpy(mess,"Cannot enable/disable compression while status is running\n"); strcpy(mess,"Cannot enable/disable compression while status is running\n");
ret=FAIL; ret=FAIL;
@ -1846,7 +1931,11 @@ int slsReceiverTCPIPInterface::enable_compression() {
ret = receiverBase->enableDataCompression(enable); ret = receiverBase->enableDataCompression(enable);
} }
retval=receiverBase->getDataCompression(); if (receiverBase == NULL){
strcpy(mess,"Receiver not set up\n");
ret=FAIL;
}else
retval=receiverBase->getDataCompression();
} }
#endif #endif
@ -1887,6 +1976,10 @@ int slsReceiverTCPIPInterface::set_detector_hostname() {
if (lockStatus==1 && socket->differentClients==1){ if (lockStatus==1 && socket->differentClients==1){
sprintf(mess,"Receiver locked by %s\n", socket->lastClientIP); sprintf(mess,"Receiver locked by %s\n", socket->lastClientIP);
ret=FAIL; ret=FAIL;
}
else if (receiverBase == NULL){
strcpy(mess,"Receiver not set up\n");
ret=FAIL;
} }
else{ else{
receiverBase->initialize(hostname); receiverBase->initialize(hostname);
@ -1955,14 +2048,19 @@ int slsReceiverTCPIPInterface::set_dynamic_range() {
} }
} }
if(ret!=FAIL){ if(ret!=FAIL){
retval=receiverBase->setDynamicRange(dr); if (receiverBase == NULL){
dynamicrange = dr; strcpy(mess,"Receiver not set up\n");
if(myDetectorType == EIGER){ ret=FAIL;
if(!tenGigaEnable) }else{
packetsPerFrame = EIGER_ONE_GIGA_CONSTANT * dynamicrange * EIGER_MAX_PORTS; retval=receiverBase->setDynamicRange(dr);
else dynamicrange = dr;
packetsPerFrame = EIGER_TEN_GIGA_CONSTANT * dynamicrange * EIGER_MAX_PORTS; if(myDetectorType == EIGER){
} if(!tenGigaEnable)
packetsPerFrame = EIGER_ONE_GIGA_CONSTANT * dynamicrange * EIGER_MAX_PORTS;
else
packetsPerFrame = EIGER_TEN_GIGA_CONSTANT * dynamicrange * EIGER_MAX_PORTS;
}
}
} }
} }
#ifdef VERBOSE #ifdef VERBOSE
@ -2014,6 +2112,10 @@ int slsReceiverTCPIPInterface::enable_overwrite() {
sprintf(mess,"Receiver locked by %s\n", socket->lastClientIP); sprintf(mess,"Receiver locked by %s\n", socket->lastClientIP);
ret=FAIL; ret=FAIL;
} }
else if (receiverBase == NULL){
strcpy(mess,"Receiver not set up\n");
ret=FAIL;
}
else{ else{
if(index >= 0) if(index >= 0)
receiverBase->setEnableOverwrite(index); receiverBase->setEnableOverwrite(index);
@ -2069,6 +2171,10 @@ int slsReceiverTCPIPInterface::enable_tengiga() {
sprintf(mess,"Receiver locked by %s\n", socket->lastClientIP); sprintf(mess,"Receiver locked by %s\n", socket->lastClientIP);
ret=FAIL; ret=FAIL;
} }
else if (receiverBase == NULL){
strcpy(mess,"Receiver not set up\n");
ret=FAIL;
}
else{ else{
retval=receiverBase->enableTenGiga(val); retval=receiverBase->enableTenGiga(val);
if((val!=-1) && (val != retval)) if((val!=-1) && (val != retval))
@ -2313,7 +2419,15 @@ int slsReceiverTCPIPInterface::send_update() {
int slsReceiverTCPIPInterface::update_client() { int slsReceiverTCPIPInterface::update_client() {
ret=OK; ret=OK;
if (receiverBase == NULL){
strcpy(mess,"Receiver not set up\n");
ret=FAIL;
}
socket->SendDataOnly(&ret,sizeof(ret)); socket->SendDataOnly(&ret,sizeof(ret));
if(ret == FAIL){
socket->SendDataOnly(mess,sizeof(mess));
return ret;
}
return send_update(); return send_update();
} }