diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp index a46542c7d..fc3498e4f 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp @@ -1962,7 +1962,7 @@ int multiSlsDetector::setDetectorMode(detectorModeType value, int detPos) { return getDetectorModeType(result); } -uint64_t multiSlsDetector::setReceiverUDPSocketBufferSize(uint64_t udpsockbufsize, int detPos) { +int64_t multiSlsDetector::setReceiverUDPSocketBufferSize(int64_t udpsockbufsize, int detPos) { // single if (detPos >= 0) { return detectors[detPos]->setReceiverUDPSocketBufferSize(udpsockbufsize); @@ -1973,7 +1973,7 @@ uint64_t multiSlsDetector::setReceiverUDPSocketBufferSize(uint64_t udpsockbufsiz return sls::minusOneIfDifferent(r); } -uint64_t multiSlsDetector::getReceiverUDPSocketBufferSize(int detPos) { +int64_t multiSlsDetector::getReceiverUDPSocketBufferSize(int detPos) { // single if (detPos >= 0) { return detectors[detPos]->getReceiverUDPSocketBufferSize(); @@ -1984,7 +1984,7 @@ uint64_t multiSlsDetector::getReceiverUDPSocketBufferSize(int detPos) { return sls::minusOneIfDifferent(r); } -uint64_t multiSlsDetector::getReceiverRealUDPSocketBufferSize(int detPos) { +int64_t multiSlsDetector::getReceiverRealUDPSocketBufferSize(int detPos) { // single if (detPos >= 0) { return detectors[detPos]->getReceiverRealUDPSocketBufferSize(); diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h index 7162d1098..6b2d535f1 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h @@ -1113,21 +1113,21 @@ class multiSlsDetector : public virtual slsDetectorDefs, * @param detPos -1 for all detectors in list or specific detector position * @returns receiver udp socket buffer size */ - uint64_t setReceiverUDPSocketBufferSize(uint64_t udpsockbufsize = -1, int detPos = -1); + int64_t setReceiverUDPSocketBufferSize(int64_t udpsockbufsize = -1, int detPos = -1); /** * Returns the receiver UDP socket buffer size * @param detPos -1 for all detectors in list or specific detector position * @returns the receiver UDP socket buffer size */ - uint64_t getReceiverUDPSocketBufferSize(int detPos = -1); + int64_t getReceiverUDPSocketBufferSize(int detPos = -1); /** * Returns the receiver real UDP socket buffer size * @param detPos -1 for all detectors in list or specific detector position * @returns the receiver real UDP socket buffer size */ - uint64_t getReceiverRealUDPSocketBufferSize(int detPos = -1); + int64_t getReceiverRealUDPSocketBufferSize(int detPos = -1); /** (users only) * Set 10GbE Flow Control (Eiger) diff --git a/slsDetectorSoftware/slsDetector/slsDetector.cpp b/slsDetectorSoftware/slsDetector/slsDetector.cpp index afd0df94a..70ac3c44f 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetector.cpp @@ -542,7 +542,7 @@ slsDetectorDefs::detectorType slsDetector::getDetectorTypeFromShm(int multiId, b if (!shm.IsExisting()) { FILE_LOG(logERROR) << "Shared memory " << shm.GetName() << " does not exist.\n" "Corrupted Multi Shared memory. Please free shared memory."; - throw SharedMemoryError("Could not read detector type from shared memory"); + throw SharedMemoryError("Corrupted multi shared memory."); } // open, map, verify version @@ -2786,11 +2786,11 @@ std::string slsDetector::getAdditionalJsonParameter(const std::string &key) { return std::string(""); } -uint64_t slsDetector::setReceiverUDPSocketBufferSize(uint64_t udpsockbufsize) { +int64_t slsDetector::setReceiverUDPSocketBufferSize(int64_t udpsockbufsize) { int fnum = F_RECEIVER_UDP_SOCK_BUF_SIZE; int ret = FAIL; - uint64_t arg = udpsockbufsize; - uint64_t retval = -1; + int64_t arg = udpsockbufsize; + int64_t retval = -1; FILE_LOG(logDEBUG1) << "Sending UDP Socket Buffer size to receiver: " << arg; if (detector_shm()->receiverOnlineFlag == ONLINE_FLAG) { @@ -2809,14 +2809,14 @@ uint64_t slsDetector::setReceiverUDPSocketBufferSize(uint64_t udpsockbufsize) { return retval; } -uint64_t slsDetector::getReceiverUDPSocketBufferSize() { +int64_t slsDetector::getReceiverUDPSocketBufferSize() { return setReceiverUDPSocketBufferSize(); } -uint64_t slsDetector::getReceiverRealUDPSocketBufferSize() { +int64_t slsDetector::getReceiverRealUDPSocketBufferSize() { int fnum = F_RECEIVER_REAL_UDP_SOCK_BUF_SIZE; int ret = FAIL; - uint64_t retval = -1; + int64_t retval = -1; FILE_LOG(logDEBUG1) << "Getting real UDP Socket Buffer size to receiver"; if (detector_shm()->receiverOnlineFlag == ONLINE_FLAG) { diff --git a/slsDetectorSoftware/slsDetector/slsDetector.h b/slsDetectorSoftware/slsDetector/slsDetector.h index 0b60ddba0..975459a0b 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.h +++ b/slsDetectorSoftware/slsDetector/slsDetector.h @@ -971,19 +971,19 @@ class slsDetector : public virtual slsDetectorDefs, public virtual errorDefs { * @param udpsockbufsize additional json header * @returns receiver udp socket buffer size */ - uint64_t setReceiverUDPSocketBufferSize(uint64_t udpsockbufsize = -1); + int64_t setReceiverUDPSocketBufferSize(int64_t udpsockbufsize = -1); /** * Returns the receiver UDP socket buffer size\sa sharedSlsDetector * @returns the receiver UDP socket buffer size */ - uint64_t getReceiverUDPSocketBufferSize(); + int64_t getReceiverUDPSocketBufferSize(); /** * Returns the receiver real UDP socket buffer size\sa sharedSlsDetector * @returns the receiver real UDP socket buffer size */ - uint64_t getReceiverRealUDPSocketBufferSize(); + int64_t getReceiverRealUDPSocketBufferSize(); /** * Execute a digital test (Gotthard, Mythen) diff --git a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp index 5b917ff1f..fe8f05113 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp @@ -2829,7 +2829,7 @@ std::string slsDetectorCommand::cmdNetworkParameter(int narg, char *args[], int return ans; } else if (cmd == "rx_udpsocksize") { if (action == PUT_ACTION) { - uint64_t ival = -1; + int64_t ival = -1; if (!(sscanf(args[1], "%ld", &ival))) { return ("cannot parse argument") + std::string(args[1]); } diff --git a/slsReceiverSoftware/include/Listener.h b/slsReceiverSoftware/include/Listener.h index c9765edb0..04866c1f8 100644 --- a/slsReceiverSoftware/include/Listener.h +++ b/slsReceiverSoftware/include/Listener.h @@ -140,7 +140,7 @@ class Listener : private virtual slsDetectorDefs, public ThreadObject { * @param s UDP socket buffer size to be set * @return OK or FAIL of dummy socket creation */ - int CreateDummySocketForUDPSocketBufferSize(uint64_t s); + int CreateDummySocketForUDPSocketBufferSize(int64_t s); /** * Set hard coded (calculated but not from detector) row and column @@ -232,10 +232,10 @@ class Listener : private virtual slsDetectorDefs, public ThreadObject { uint32_t* dynamicRange; /** UDP Socket Buffer Size */ - uint64_t* udpSocketBufferSize; + int64_t* udpSocketBufferSize; /** actual UDP Socket Buffer Size (double due to kernel bookkeeping) */ - uint64_t* actualUDPSocketBufferSize; + int64_t* actualUDPSocketBufferSize; /** frames per file */ uint32_t* framesPerFile; diff --git a/slsReceiverSoftware/include/slsReceiverImplementation.h b/slsReceiverSoftware/include/slsReceiverImplementation.h index e8ef7759d..05ebcce88 100644 --- a/slsReceiverSoftware/include/slsReceiverImplementation.h +++ b/slsReceiverSoftware/include/slsReceiverImplementation.h @@ -308,14 +308,14 @@ class slsReceiverImplementation: private virtual slsDetectorDefs { * Get UDP Socket Buffer Size * @return UDP Socket Buffer Size */ - uint64_t getUDPSocketBufferSize() const; + int64_t getUDPSocketBufferSize() const; /** (not saved in client shared memory) * Get actual UDP Socket Buffer Size * @return actual UDP Socket Buffer Size */ - uint64_t getActualUDPSocketBufferSize() const; + int64_t getActualUDPSocketBufferSize() const; /************************************************************************* * Setters *************************************************************** @@ -438,7 +438,7 @@ class slsReceiverImplementation: private virtual slsDetectorDefs { * @param s UDP Socket Buffer Size * @return OK or FAIL if dummy socket could be created */ - int setUDPSocketBufferSize(const uint64_t s); + int setUDPSocketBufferSize(const int64_t s); //***acquisition parameters*** @@ -805,9 +805,9 @@ private: /** Server UDP Port Number*/ uint32_t udpPortNum[MAX_NUMBER_OF_LISTENING_THREADS]; /** udp socket buffer size */ - uint64_t udpSocketBufferSize; + int64_t udpSocketBufferSize; /** actual UDP Socket Buffer Size (halved due to kernel bookkeeping) */ - uint64_t actualUDPSocketBufferSize; + int64_t actualUDPSocketBufferSize; //***file parameters*** /** File format */ diff --git a/slsReceiverSoftware/src/Listener.cpp b/slsReceiverSoftware/src/Listener.cpp index e63ead8e1..aaa265133 100644 --- a/slsReceiverSoftware/src/Listener.cpp +++ b/slsReceiverSoftware/src/Listener.cpp @@ -22,7 +22,7 @@ const std::string Listener::TypeName = "Listener"; Listener::Listener(int ind, detectorType dtype, Fifo* f, runStatus* s, uint32_t* portno, char* e, uint64_t* nf, uint32_t* dr, - uint64_t* us, uint64_t* as, uint32_t* fpf, + int64_t* us, int64_t* as, uint32_t* fpf, frameDiscardPolicy* fdp, bool* act, bool* depaden, bool* sm) : ThreadObject(ind), runningFlag(0), @@ -232,7 +232,7 @@ void Listener::ShutDownUDPSocket() { } -int Listener::CreateDummySocketForUDPSocketBufferSize(uint64_t s) { +int Listener::CreateDummySocketForUDPSocketBufferSize(int64_t s) { FILE_LOG(logINFO) << "Testing UDP Socket Buffer size with test port " << *udpPortNumber; if (!(*activated)) { @@ -240,7 +240,7 @@ int Listener::CreateDummySocketForUDPSocketBufferSize(uint64_t s) { return OK; } - uint64_t temp = *udpSocketBufferSize; + int64_t temp = *udpSocketBufferSize; *udpSocketBufferSize = s; //if eth is mistaken with ip address diff --git a/slsReceiverSoftware/src/slsReceiverImplementation.cpp b/slsReceiverSoftware/src/slsReceiverImplementation.cpp index 0d212ed19..c8929c814 100644 --- a/slsReceiverSoftware/src/slsReceiverImplementation.cpp +++ b/slsReceiverSoftware/src/slsReceiverImplementation.cpp @@ -373,12 +373,12 @@ std::string slsReceiverImplementation::getAdditionalJsonHeader() const{ return std::string(additionalJsonHeader); } -uint64_t slsReceiverImplementation::getUDPSocketBufferSize() const { +int64_t slsReceiverImplementation::getUDPSocketBufferSize() const { FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called"; return udpSocketBufferSize; } -uint64_t slsReceiverImplementation::getActualUDPSocketBufferSize() const { +int64_t slsReceiverImplementation::getActualUDPSocketBufferSize() const { FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called"; return actualUDPSocketBufferSize; } @@ -610,7 +610,7 @@ void slsReceiverImplementation::setEthernetInterface(const char* c) { FILE_LOG(logINFO) << "Ethernet Interface: " << eth; } -int slsReceiverImplementation::setUDPSocketBufferSize(const uint64_t s) { +int slsReceiverImplementation::setUDPSocketBufferSize(const int64_t s) { if (listener.size()) return listener[0]->CreateDummySocketForUDPSocketBufferSize(s); return FAIL; diff --git a/slsReceiverSoftware/src/slsReceiverTCPIPInterface.cpp b/slsReceiverSoftware/src/slsReceiverTCPIPInterface.cpp index 4c0978fff..a88bbb430 100644 --- a/slsReceiverSoftware/src/slsReceiverTCPIPInterface.cpp +++ b/slsReceiverSoftware/src/slsReceiverTCPIPInterface.cpp @@ -425,11 +425,12 @@ int slsReceiverTCPIPInterface::set_port() { strcpy(mySock->lastClientIP,oldLastClientIP); } catch(SocketError &e) { ret = FAIL; - sprintf(mess, "Could not bind port %d. It is already set\n", p_number); + // same socket, could not bind port + sprintf(mess, e.what()); FILE_LOG(logERROR) << mess; } catch (...) { ret = FAIL; - sprintf(mess, "Could not bind port %d.\n", p_number); + sprintf(mess, "Could not set port %d.\n", p_number); FILE_LOG(logERROR) << mess; } } @@ -1728,8 +1729,8 @@ int slsReceiverTCPIPInterface::get_additional_json_header() { int slsReceiverTCPIPInterface::set_udp_socket_buffer_size() { ret = OK; memset(mess, 0, sizeof(mess)); - uint64_t index = -1; - uint64_t retval = -1; + int64_t index = -1; + int64_t retval = -1; // get args, return if socket crashed, ret is fail if receiver is not null if (interface->Server_ReceiveArg(ret, mess, &index, sizeof(index), true, receiver) == FAIL) @@ -1762,7 +1763,7 @@ int slsReceiverTCPIPInterface::set_udp_socket_buffer_size() { int slsReceiverTCPIPInterface::get_real_udp_socket_buffer_size(){ ret = OK; memset(mess, 0, sizeof(mess)); - uint64_t retval = -1; + int64_t retval = -1; // no arg, check receiver is null interface->Server_ReceiveArg(ret, mess, nullptr, 0, true, receiver);