slsReceiver bug fix affecting Jungfrau receivers as root (optlen size as int), but setting buffer size is uint32_t size. setting it to uint64_t

This commit is contained in:
2019-03-04 09:41:20 +01:00
parent 8939e23622
commit 08bd2378f4
11 changed files with 45 additions and 44 deletions

View File

@ -2842,11 +2842,11 @@ std::string slsDetector::getAdditionalJsonParameter(const std::string& key) {
return std::string("");
}
int slsDetector::setReceiverUDPSocketBufferSize(int udpsockbufsize) {
uint64_t slsDetector::setReceiverUDPSocketBufferSize(uint64_t udpsockbufsize) {
int fnum = F_RECEIVER_UDP_SOCK_BUF_SIZE;
int ret = FAIL;
int arg = udpsockbufsize;
int retval = -1;
uint64_t arg = udpsockbufsize;
uint64_t retval = -1;
FILE_LOG(logDEBUG1) << "Sending UDP Socket Buffer size to receiver: " << arg;
if (thisDetector->receiverOnlineFlag == ONLINE_FLAG) {
@ -2865,14 +2865,14 @@ int slsDetector::setReceiverUDPSocketBufferSize(int udpsockbufsize) {
return retval;
}
int slsDetector::getReceiverUDPSocketBufferSize() {
uint64_t slsDetector::getReceiverUDPSocketBufferSize() {
return setReceiverUDPSocketBufferSize();
}
int slsDetector::getReceiverRealUDPSocketBufferSize() {
uint64_t slsDetector::getReceiverRealUDPSocketBufferSize() {
int fnum = F_RECEIVER_REAL_UDP_SOCK_BUF_SIZE;
int ret = FAIL;
int retval = -1;
uint64_t retval = -1;
FILE_LOG(logDEBUG1) << "Getting real UDP Socket Buffer size to receiver";
if (thisDetector->receiverOnlineFlag == ONLINE_FLAG) {

View File

@ -999,19 +999,19 @@ public:
* @param udpsockbufsize additional json header
* @returns receiver udp socket buffer size
*/
int setReceiverUDPSocketBufferSize(int udpsockbufsize=-1);
uint64_t setReceiverUDPSocketBufferSize(uint64_t udpsockbufsize=-1);
/**
* Returns the receiver UDP socket buffer size\sa sharedSlsDetector
* @returns the receiver UDP socket buffer size
*/
int getReceiverUDPSocketBufferSize() ;
uint64_t getReceiverUDPSocketBufferSize() ;
/**
* Returns the receiver real UDP socket buffer size\sa sharedSlsDetector
* @returns the receiver real UDP socket buffer size
*/
int getReceiverRealUDPSocketBufferSize();
uint64_t getReceiverRealUDPSocketBufferSize();
/**
* Execute a digital test (Gotthard, Mythen)

View File

@ -2829,18 +2829,19 @@ std::string slsDetectorCommand::cmdNetworkParameter(int narg, char *args[], int
return ans;
} else if (cmd == "rx_udpsocksize") {
if (action == PUT_ACTION) {
if (!(sscanf(args[1], "%d", &i))) {
uint64_t ival = -1;
if (!(sscanf(args[1], "%ld", &ival))) {
return ("cannot parse argument") + std::string(args[1]);
}
myDet->setReceiverUDPSocketBufferSize(i, detPos);
myDet->setReceiverUDPSocketBufferSize(ival, detPos);
}
sprintf(ans, "%d", myDet->getReceiverUDPSocketBufferSize(detPos));
sprintf(ans, "%ld", myDet->getReceiverUDPSocketBufferSize(detPos));
return ans;
} else if (cmd == "rx_realudpsocksize") {
if (action == PUT_ACTION) {
return ("cannot put!");
}
sprintf(ans, "%d", myDet->getReceiverRealUDPSocketBufferSize(detPos));
sprintf(ans, "%ld", myDet->getReceiverRealUDPSocketBufferSize(detPos));
return ans;
} else if (cmd == "txndelay_left") {
networkParameter t = DETECTOR_TXN_DELAY_LEFT;