receiver bug fixaffecting 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 11:02:10 +01:00
parent d7ce5fedfd
commit a1a95ebb20
11 changed files with 36 additions and 33 deletions

View File

@ -4959,6 +4959,7 @@ uint32_t slsDetector::clearBit(uint32_t addr, int n) {
string slsDetector::setNetworkParameter(networkParameter index, string value) {
int i;
uint64_t i64 = -1;
switch (index) {
case DETECTOR_MAC:
return setDetectorMAC(value);
@ -5000,8 +5001,8 @@ string slsDetector::setNetworkParameter(networkParameter index, string value) {
case ADDITIONAL_JSON_HEADER:
return setAdditionalJsonHeader(value);
case RECEIVER_UDP_SCKT_BUF_SIZE:
sscanf(value.c_str(),"%d",&i);
setReceiverUDPSocketBufferSize(i);
sscanf(value.c_str(),"%ld",&i64);
setReceiverUDPSocketBufferSize(i64);
return getReceiverUDPSocketBufferSize();
default:
@ -5109,7 +5110,7 @@ string slsDetector::getReceiverRealUDPSocketBufferSize() {
int fnum=F_RECEIVER_REAL_UDP_SOCK_BUF_SIZE;
int ret = FAIL;
int retval = -1;
int64_t retval = -1;
if(thisDetector->receiverOnlineFlag == ONLINE_FLAG){
#ifdef VERBOSE
@ -5591,12 +5592,12 @@ string slsDetector::setAdditionalJsonHeader(string jsonheader) {
}
string slsDetector::setReceiverUDPSocketBufferSize(int udpsockbufsize) {
string slsDetector::setReceiverUDPSocketBufferSize(uint64_t udpsockbufsize) {
int fnum=F_RECEIVER_UDP_SOCK_BUF_SIZE;
int ret = FAIL;
int retval = -1;
int arg = udpsockbufsize;
int64_t retval = -1;
int64_t arg = udpsockbufsize;
if(thisDetector->receiverOnlineFlag == ONLINE_FLAG){
#ifdef VERBOSE

View File

@ -2422,7 +2422,7 @@ private:
* @param udpsockbufsize additional json header
* @returns receiver udp socket buffer size
*/
std::string setReceiverUDPSocketBufferSize(int udpsockbufsize=-1);
std::string setReceiverUDPSocketBufferSize(uint64_t udpsockbufsize=-1);
/**
* Sets the transmission delay for left, right or entire frame

View File

@ -4040,7 +4040,8 @@ string slsDetectorCommand::cmdNetworkParameter(int narg, char *args[], int actio
} else if (cmd=="rx_udpsocksize") {
t=RECEIVER_UDP_SCKT_BUF_SIZE;
if (action==PUT_ACTION){
if (!(sscanf(args[1],"%d",&i)))
uint64_t ival = -1;
if (!(sscanf(args[1],"%ld",&i)))
return ("cannot parse argument") + string(args[1]);
}
} else if (cmd=="rx_realudpsocksize") {